[OE-core] dpkg: Fix for Fedora22

Richard Purdie richard.purdie at linuxfoundation.org
Mon Jul 13 11:16:37 UTC 2015


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 <richard.purdie at linuxfoundation.org>
> 
> 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"
> 
> 





More information about the Openembedded-core mailing list