From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dan.rpsys.net (5751f4a1.skybroadband.com [87.81.244.161]) by mail.openembedded.org (Postfix) with ESMTP id B80D5607BB for ; Mon, 13 Jul 2015 11:16:51 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by dan.rpsys.net (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id t6DBGppG025722 for ; Mon, 13 Jul 2015 12:16:51 +0100 Received: from dan.rpsys.net ([127.0.0.1]) by localhost (dan.rpsys.net [127.0.0.1]) (amavisd-new, port 10024) with LMTP id BP7c0lh5NQVD for ; Mon, 13 Jul 2015 12:16:51 +0100 (BST) Received: from [192.168.3.10] ([192.168.3.10]) (authenticated bits=0) by dan.rpsys.net (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id t6DBGbfB025714 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2015 12:16:48 +0100 Message-ID: <1436786197.3310.58.camel@linuxfoundation.org> From: Richard Purdie To: openembedded-core Date: Mon, 13 Jul 2015 12:16:37 +0100 In-Reply-To: <1436785492.3310.52.camel@linuxfoundation.org> References: <1436785492.3310.52.camel@linuxfoundation.org> X-Mailer: Evolution 3.12.10-0ubuntu1~14.10.1 Mime-Version: 1.0 Subject: Re: dpkg: Fix for Fedora22 X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jul 2015 11:16:53 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Mon, 2015-07-13 at 12:04 +0100, Richard Purdie wrote: > Yes, they managed to break tar. Again. Turns out they intentionally broke tar: http://www.mail-archive.com/bug-tar@gnu.org/msg04799.html I'll mention this to the dpkg maintainers to save them debugging this mess. I'm not impressed with the upstream commit messages since this isn't clear at all (at least to me). I'll also add the missing Upstream-Status to the patch. Cheers, Richard > 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. > > https://bugzilla.yoctoproject.org/show_bug.cgi?id=7988 > > 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. > > [YOCTO #7988] > > Signed-off-by: Richard Purdie > > diff --git a/meta/recipes-devtools/dpkg/dpkg/tarfix.patch b/meta/recipes-devtools/dpkg/dpkg/tarfix.patch > new file mode 100644 > index 0000000..c343742 > --- /dev/null > +++ b/meta/recipes-devtools/dpkg/dpkg/tarfix.patch > @@ -0,0 +1,32 @@ > +Yes, they managed to break tar. Again. > + > +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. > + > +https://bugzilla.yoctoproject.org/show_bug.cgi?id=7988 > + > +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. > + > +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.25.bb b/meta/recipes-devtools/dpkg/dpkg_1.17.25.bb > index 74b1dd0..1969eff 100644 > --- a/meta/recipes-devtools/dpkg/dpkg_1.17.25.bb > +++ b/meta/recipes-devtools/dpkg/dpkg_1.17.25.bb > @@ -13,6 +13,7 @@ SRC_URI += "file://noman.patch \ > file://glibc2.5-sync_file_range.patch \ > file://no-vla-warning.patch \ > file://add_armeb_triplet_entry.patch \ > + file://tarfix.patch \ > " > > SRC_URI[md5sum] = "e48fcfdb2162e77d72c2a83432d537ca" > >