From 4db983142fb3a575c4a6930bbc504796cd0c86f6 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 1 Feb 2011 17:00:24 +0100 Subject: opkg: Update to svn r596 to fix segfault when upgrading packages The longlinks patch is upstream and and be removed now Signed-off-by: Koen Kooi Signed-off-by: Saul Wold --- meta/recipes-devtools/opkg/opkg/longlinksfix.patch | 92 ---------------------- meta/recipes-devtools/opkg/opkg_svn.bb | 1 - 2 files changed, 93 deletions(-) delete mode 100644 meta/recipes-devtools/opkg/opkg/longlinksfix.patch (limited to 'meta/recipes-devtools/opkg') diff --git a/meta/recipes-devtools/opkg/opkg/longlinksfix.patch b/meta/recipes-devtools/opkg/opkg/longlinksfix.patch deleted file mode 100644 index 6908392932..0000000000 --- a/meta/recipes-devtools/opkg/opkg/longlinksfix.patch +++ /dev/null @@ -1,92 +0,0 @@ -If a tarball contains a long symlink (over 100 chars) in a longpath (over 100 -chars) then the resulting link or path can be truncated to 100 chars. - -This is due to a bug where if both 'L' and 'K' entries are found in the tarball, -only the first one takes affect due to get_header_tar recursively calling itself. -To fix this, process longname and linkname at the end of the function rather -than the start after any subcalls have taken place. - -Richard Purdie -22/12/2010 - -Index: trunk/libbb/unarchive.c -=================================================================== ---- trunk.orig/libbb/unarchive.c 2010-12-22 18:14:52.575074849 +0000 -+++ trunk/libbb/unarchive.c 2010-12-22 18:16:01.845103832 +0000 -@@ -506,23 +506,7 @@ - /* convert to type'ed variables */ - tar_entry = xcalloc(1, sizeof(file_header_t)); - --#ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS -- if (longname) { -- tar_entry->name = longname; -- longname = NULL; -- } else --#endif -- { -- tar_entry->name = xstrndup(tar.formated.name, 100); - -- if (tar.formated.prefix[0]) { -- char *temp = tar_entry->name; -- char *prefixTemp = xstrndup(tar.formated.prefix, 155); -- tar_entry->name = concat_path_file(prefixTemp, temp); -- free(temp); -- free(prefixTemp); -- } -- } - - // tar_entry->name = xstrdup(tar.formated.name); - -@@ -535,16 +519,7 @@ - tar_entry->gid = strtol(tar.formated.gid, NULL, 8); - tar_entry->size = strtol(tar.formated.size, NULL, 8); - tar_entry->mtime = strtol(tar.formated.mtime, NULL, 8); --#ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS -- if (linkname) { -- tar_entry->link_name = linkname; -- linkname = NULL; -- } else --#endif -- { -- tar_entry->link_name = *tar.formated.linkname != '\0' ? -- xstrndup(tar.formated.linkname, 100) : NULL; -- } -+ - tar_entry->device = (strtol(tar.formated.devmajor, NULL, 8) << 8) + - strtol(tar.formated.devminor, NULL, 8); - -@@ -611,6 +586,34 @@ - - } - -+ -+#ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS -+ if (longname) { -+ tar_entry->name = longname; -+ longname = NULL; -+ } else -+#endif -+ { -+ tar_entry->name = xstrndup(tar.formated.name, 100); -+ -+ if (tar.formated.prefix[0]) { -+ char *temp = tar_entry->name; -+ char *prefixTemp = xstrndup(tar.formated.prefix, 155); -+ tar_entry->name = concat_path_file(prefixTemp, temp); -+ free(temp); -+ free(prefixTemp); -+ } -+ } -+ -+ if (linkname) { -+ tar_entry->link_name = linkname; -+ linkname = NULL; -+ } else -+ { -+ tar_entry->link_name = *tar.formated.linkname != '\0' ? -+ xstrndup(tar.formated.linkname, 100) : NULL; -+ } -+ - return(tar_entry); - } - diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb index 141e00db06..76ec838875 100644 --- a/meta/recipes-devtools/opkg/opkg_svn.bb +++ b/meta/recipes-devtools/opkg/opkg_svn.bb @@ -11,7 +11,6 @@ PACKAGE_ARCH_update-alternatives-cworth = "all" SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \ file://add_vercmp.patch \ file://headerfix.patch \ - file://longlinksfix.patch \ " S = "${WORKDIR}/trunk" -- cgit v1.2.3-54-g00ecf