summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-13 12:04:52 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-27 12:25:05 +0100
commit386898afde40971653af646d55e64aef65807e3b (patch)
treee02ad88c532b0d2ec07e8eebd4d19d85c02aa636
parentc58814c910d813a761b5c0e3ba63d6fddef86cc9 (diff)
downloadopenembedded-core-386898afde40971653af646d55e64aef65807e3b.tar.gz
openembedded-core-386898afde40971653af646d55e64aef65807e3b.tar.bz2
openembedded-core-386898afde40971653af646d55e64aef65807e3b.zip
dpkg: Fix for Fedora22 and new versions of tar
They managed to 'break' tar. Again. Sorry, they fixed a regression which broke dpkg-deb. The addition of: http://git.savannah.gnu.org/cgit/tar.git/commit/?id=163e96a0e619a900eab6de827c7c5749ecc9d3f2 ("Bugfix: entries read from the -T file did not get proper matching_flag.") means that the no-recursion option gets lost. This leads to many files getting included multiple times, along with files which shouldn't be there. The commit message is horrendous. The patch actually makes the option positional (as documnted since 2003) and therefore doesn't affect the input from the -T option. Moving the --no-reursion option to earlier in the command avoids the bug. The bug was not present in tar 1.28 however it has been backported in at least Fedora 22 and heading into Fedora 21. Redhat reports of issue: https://bugzilla.redhat.com/show_bug.cgi?id=1230762 [tar] https://bugzilla.redhat.com/show_bug.cgi?id=1241508 [dpkg] Discussion of bug in upstream tar: http://www.mail-archive.com/bug-tar@gnu.org/msg04799.html [YOCTO #7988] (From OE-Core rev: 6be698b7270f73f40d38713ecf13f12aec0ced61) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Conflicts: meta/recipes-devtools/dpkg/dpkg_1.17.25.bb
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/tarfix.patch45
-rw-r--r--meta/recipes-devtools/dpkg/dpkg_1.17.4.bb1
2 files changed, 46 insertions, 0 deletions
diff --git a/meta/recipes-devtools/dpkg/dpkg/tarfix.patch b/meta/recipes-devtools/dpkg/dpkg/tarfix.patch
new file mode 100644
index 0000000000..50e0bb4069
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg/tarfix.patch
@@ -0,0 +1,45 @@
+They managed to 'break' tar. Again. Sorry, they fixed a regression
+which broke dpkg-deb.
+
+The addition of:
+http://git.savannah.gnu.org/cgit/tar.git/commit/?id=163e96a0e619a900eab6de827c7c5749ecc9d3f2
+("Bugfix: entries read from the -T file did not get proper matching_flag.")
+means that the no-recursion option gets lost. This leads to many files getting included
+multiple times, along with files which shouldn't be there.
+
+The commit message is horrendous. The patch actually makes the option positional
+(as documnted since 2003) and therefore doesn't affect the input from the -T option.
+
+Moving the --no-reursion option to earlier in the command avoids the bug.
+
+The bug was not present in tar 1.28 however it has been backported in at least
+Fedora 22 and heading into Fedora 21.
+
+Redhat reports of issue:
+https://bugzilla.redhat.com/show_bug.cgi?id=1230762 [tar]
+https://bugzilla.redhat.com/show_bug.cgi?id=1241508 [dpkg]
+
+Discussion of bug in upstream tar:
+http://www.mail-archive.com/bug-tar@gnu.org/msg04799.html
+
+Yocto bug:
+https://bugzilla.yoctoproject.org/show_bug.cgi?id=7988
+
+Upstream-Status: Submitted [have mailed dpkg maintainer about this]
+
+RP
+2015/7/13
+
+Index: dpkg-1.17.25/dpkg-deb/build.c
+===================================================================
+--- dpkg-1.17.25.orig/dpkg-deb/build.c
++++ dpkg-1.17.25/dpkg-deb/build.c
+@@ -560,7 +560,7 @@ do_build(const char *const *argv)
+ if (chdir(dir))
+ ohshite(_("failed to chdir to `%.255s'"), dir);
+ execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--null", "--no-unquote",
+- "-T", "-", "--no-recursion", NULL);
++ "--no-recursion", "-T", "-", NULL);
+ ohshite(_("unable to execute %s (%s)"), "tar -cf", TAR);
+ }
+ close(p1[0]);
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.17.4.bb b/meta/recipes-devtools/dpkg/dpkg_1.17.4.bb
index 83526f3c96..7c0ec1cf9b 100644
--- a/meta/recipes-devtools/dpkg/dpkg_1.17.4.bb
+++ b/meta/recipes-devtools/dpkg/dpkg_1.17.4.bb
@@ -14,6 +14,7 @@ SRC_URI += "file://noman.patch \
file://no-vla-warning.patch \
file://dpkg-1.17.4-CVE-2014-0471.patch \
file://dpkg-1.17.4-CVE-2014-0471-CVE-2014-3127.patch \
+ file://tarfix.patch \
"
SRC_URI[md5sum] = "cc25086e1e3bd9512a95f14cfe9002e1"