diff options
| -rw-r--r-- | meta/conf/distro/include/poky-default-revisions.inc | 2 | ||||
| -rw-r--r-- | meta/recipes-devtools/opkg/opkg-0.1.8/opkg_unarchive.patch | 17 | ||||
| -rw-r--r-- | meta/recipes-devtools/opkg/opkg/logfix.patch | 23 | ||||
| -rw-r--r-- | meta/recipes-devtools/opkg/opkg/longlinksfix.patch | 92 | ||||
| -rw-r--r-- | meta/recipes-devtools/opkg/opkg_svn.bb | 8 |
5 files changed, 97 insertions, 45 deletions
diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc index beffe9a89b..10103a27fe 100644 --- a/meta/conf/distro/include/poky-default-revisions.inc +++ b/meta/conf/distro/include/poky-default-revisions.inc | |||
| @@ -133,7 +133,7 @@ SRCREV_pn-networkmanager ??= "2984" | |||
| 133 | SRCREV_pn-ofono ??= "14544d5996836f628613c2ce544380ee6fc8f514" | 133 | SRCREV_pn-ofono ??= "14544d5996836f628613c2ce544380ee6fc8f514" |
| 134 | SRCREV_pn-oh-puzzles ??= "23" | 134 | SRCREV_pn-oh-puzzles ??= "23" |
| 135 | SRCREV_pn-ohm ??= "edfe25d49d67884bf004de7ae0724c162bb5e65e" | 135 | SRCREV_pn-ohm ??= "edfe25d49d67884bf004de7ae0724c162bb5e65e" |
| 136 | OPKGSRCREV = "524" | 136 | OPKGSRCREV = "590" |
| 137 | SRCREV_pn-opkg ??= "${OPKGSRCREV}" | 137 | SRCREV_pn-opkg ??= "${OPKGSRCREV}" |
| 138 | SRCREV_pn-opkg-native ??= "${OPKGSRCREV}" | 138 | SRCREV_pn-opkg-native ??= "${OPKGSRCREV}" |
| 139 | SRCREV_pn-opkg-nativesdk ??= "${OPKGSRCREV}" | 139 | SRCREV_pn-opkg-nativesdk ??= "${OPKGSRCREV}" |
diff --git a/meta/recipes-devtools/opkg/opkg-0.1.8/opkg_unarchive.patch b/meta/recipes-devtools/opkg/opkg-0.1.8/opkg_unarchive.patch deleted file mode 100644 index 4b12448155..0000000000 --- a/meta/recipes-devtools/opkg/opkg-0.1.8/opkg_unarchive.patch +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | Rebase for the latest version | ||
| 2 | Dongxiao Xu <dongxiao.xu@intel.com> | ||
| 3 | |||
| 4 | diff -ruN opkg-0.1.8-orig/libbb/unarchive.c opkg-0.1.8/libbb/unarchive.c | ||
| 5 | --- opkg-0.1.8-orig/libbb/unarchive.c 2010-07-20 09:39:02.266424893 +0800 | ||
| 6 | +++ opkg-0.1.8/libbb/unarchive.c 2010-07-20 09:39:50.474435569 +0800 | ||
| 7 | @@ -523,6 +523,10 @@ | ||
| 8 | } | ||
| 9 | } | ||
| 10 | |||
| 11 | + if (strlen(tar_entry->name) > 100) { | ||
| 12 | + tar_entry->name[100] = 0; | ||
| 13 | + } | ||
| 14 | + | ||
| 15 | // tar_entry->name = xstrdup(tar.formated.name); | ||
| 16 | |||
| 17 | /* | ||
diff --git a/meta/recipes-devtools/opkg/opkg/logfix.patch b/meta/recipes-devtools/opkg/opkg/logfix.patch deleted file mode 100644 index da06f00bd0..0000000000 --- a/meta/recipes-devtools/opkg/opkg/logfix.patch +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | Patch to remove "duplicate" bits of logs from opkg output, which | ||
| 2 | massively simplifies do_rootfs logs. The reason is we get unflushed | ||
| 3 | data passed to the children and duplicated. | ||
| 4 | |||
| 5 | RP - 26/1/10 | ||
| 6 | |||
| 7 | Index: trunk/libbb/gz_open.c | ||
| 8 | =================================================================== | ||
| 9 | --- trunk.orig/libbb/gz_open.c 2010-01-26 23:12:10.000000000 +0000 | ||
| 10 | +++ trunk/libbb/gz_open.c 2010-01-26 23:12:17.000000000 +0000 | ||
| 11 | @@ -38,6 +38,12 @@ | ||
| 12 | perror_msg("pipe"); | ||
| 13 | return(NULL); | ||
| 14 | } | ||
| 15 | + | ||
| 16 | + /* If we don't flush, we end up with two copies of anything pending, | ||
| 17 | + one from the parent, one from the child */ | ||
| 18 | + fflush(stdout); | ||
| 19 | + fflush(stderr); | ||
| 20 | + | ||
| 21 | if ((*pid = fork()) == -1) { | ||
| 22 | perror_msg("fork"); | ||
| 23 | return(NULL); | ||
diff --git a/meta/recipes-devtools/opkg/opkg/longlinksfix.patch b/meta/recipes-devtools/opkg/opkg/longlinksfix.patch new file mode 100644 index 0000000000..6908392932 --- /dev/null +++ b/meta/recipes-devtools/opkg/opkg/longlinksfix.patch | |||
| @@ -0,0 +1,92 @@ | |||
| 1 | If a tarball contains a long symlink (over 100 chars) in a longpath (over 100 | ||
| 2 | chars) then the resulting link or path can be truncated to 100 chars. | ||
| 3 | |||
| 4 | This is due to a bug where if both 'L' and 'K' entries are found in the tarball, | ||
| 5 | only the first one takes affect due to get_header_tar recursively calling itself. | ||
| 6 | To fix this, process longname and linkname at the end of the function rather | ||
| 7 | than the start after any subcalls have taken place. | ||
| 8 | |||
| 9 | Richard Purdie | ||
| 10 | 22/12/2010 | ||
| 11 | |||
| 12 | Index: trunk/libbb/unarchive.c | ||
| 13 | =================================================================== | ||
| 14 | --- trunk.orig/libbb/unarchive.c 2010-12-22 18:14:52.575074849 +0000 | ||
| 15 | +++ trunk/libbb/unarchive.c 2010-12-22 18:16:01.845103832 +0000 | ||
| 16 | @@ -506,23 +506,7 @@ | ||
| 17 | /* convert to type'ed variables */ | ||
| 18 | tar_entry = xcalloc(1, sizeof(file_header_t)); | ||
| 19 | |||
| 20 | -#ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS | ||
| 21 | - if (longname) { | ||
| 22 | - tar_entry->name = longname; | ||
| 23 | - longname = NULL; | ||
| 24 | - } else | ||
| 25 | -#endif | ||
| 26 | - { | ||
| 27 | - tar_entry->name = xstrndup(tar.formated.name, 100); | ||
| 28 | |||
| 29 | - if (tar.formated.prefix[0]) { | ||
| 30 | - char *temp = tar_entry->name; | ||
| 31 | - char *prefixTemp = xstrndup(tar.formated.prefix, 155); | ||
| 32 | - tar_entry->name = concat_path_file(prefixTemp, temp); | ||
| 33 | - free(temp); | ||
| 34 | - free(prefixTemp); | ||
| 35 | - } | ||
| 36 | - } | ||
| 37 | |||
| 38 | // tar_entry->name = xstrdup(tar.formated.name); | ||
| 39 | |||
| 40 | @@ -535,16 +519,7 @@ | ||
| 41 | tar_entry->gid = strtol(tar.formated.gid, NULL, 8); | ||
| 42 | tar_entry->size = strtol(tar.formated.size, NULL, 8); | ||
| 43 | tar_entry->mtime = strtol(tar.formated.mtime, NULL, 8); | ||
| 44 | -#ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS | ||
| 45 | - if (linkname) { | ||
| 46 | - tar_entry->link_name = linkname; | ||
| 47 | - linkname = NULL; | ||
| 48 | - } else | ||
| 49 | -#endif | ||
| 50 | - { | ||
| 51 | - tar_entry->link_name = *tar.formated.linkname != '\0' ? | ||
| 52 | - xstrndup(tar.formated.linkname, 100) : NULL; | ||
| 53 | - } | ||
| 54 | + | ||
| 55 | tar_entry->device = (strtol(tar.formated.devmajor, NULL, 8) << 8) + | ||
| 56 | strtol(tar.formated.devminor, NULL, 8); | ||
| 57 | |||
| 58 | @@ -611,6 +586,34 @@ | ||
| 59 | |||
| 60 | } | ||
| 61 | |||
| 62 | + | ||
| 63 | +#ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS | ||
| 64 | + if (longname) { | ||
| 65 | + tar_entry->name = longname; | ||
| 66 | + longname = NULL; | ||
| 67 | + } else | ||
| 68 | +#endif | ||
| 69 | + { | ||
| 70 | + tar_entry->name = xstrndup(tar.formated.name, 100); | ||
| 71 | + | ||
| 72 | + if (tar.formated.prefix[0]) { | ||
| 73 | + char *temp = tar_entry->name; | ||
| 74 | + char *prefixTemp = xstrndup(tar.formated.prefix, 155); | ||
| 75 | + tar_entry->name = concat_path_file(prefixTemp, temp); | ||
| 76 | + free(temp); | ||
| 77 | + free(prefixTemp); | ||
| 78 | + } | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + if (linkname) { | ||
| 82 | + tar_entry->link_name = linkname; | ||
| 83 | + linkname = NULL; | ||
| 84 | + } else | ||
| 85 | + { | ||
| 86 | + tar_entry->link_name = *tar.formated.linkname != '\0' ? | ||
| 87 | + xstrndup(tar.formated.linkname, 100) : NULL; | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | return(tar_entry); | ||
| 91 | } | ||
| 92 | |||
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb index 518c767354..7a9e90e76b 100644 --- a/meta/recipes-devtools/opkg/opkg_svn.bb +++ b/meta/recipes-devtools/opkg/opkg_svn.bb | |||
| @@ -9,15 +9,15 @@ RDEPENDS_${PN}_virtclass-nativesdk = "" | |||
| 9 | PACKAGE_ARCH_update-alternatives-cworth = "all" | 9 | PACKAGE_ARCH_update-alternatives-cworth = "all" |
| 10 | 10 | ||
| 11 | SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \ | 11 | SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \ |
| 12 | file://opkg_unarchive.patch \ | ||
| 13 | file://add_vercmp.patch \ | 12 | file://add_vercmp.patch \ |
| 14 | file://headerfix.patch \ | 13 | file://headerfix.patch \ |
| 15 | file://logfix.patch" | 14 | file://longlinksfix.patch \ |
| 15 | " | ||
| 16 | 16 | ||
| 17 | S = "${WORKDIR}/trunk" | 17 | S = "${WORKDIR}/trunk" |
| 18 | 18 | ||
| 19 | PV = "0.0+svnr${SRCREV}" | 19 | PV = "0.1.8+svnr${SRCREV}" |
| 20 | PR = "r15" | 20 | PR = "r1" |
| 21 | 21 | ||
| 22 | PACKAGES =+ "libopkg-dev libopkg update-alternatives-cworth" | 22 | PACKAGES =+ "libopkg-dev libopkg update-alternatives-cworth" |
| 23 | 23 | ||
