All of lore.kernel.org
 help / color / mirror / Atom feed
* dpkg: Fix for Fedora22
@ 2015-07-13 11:04 Richard Purdie
  2015-07-13 11:16 ` Richard Purdie
  0 siblings, 1 reply; 2+ messages in thread
From: Richard Purdie @ 2015-07-13 11:04 UTC (permalink / raw)
  To: openembedded-core

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.

[YOCTO #7988]

Signed-off-by: Richard Purdie <richard.purdie@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"




^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: dpkg: Fix for Fedora22
  2015-07-13 11:04 dpkg: Fix for Fedora22 Richard Purdie
@ 2015-07-13 11:16 ` Richard Purdie
  0 siblings, 0 replies; 2+ messages in thread
From: Richard Purdie @ 2015-07-13 11:16 UTC (permalink / raw)
  To: openembedded-core

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@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"
> 
> 




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-07-13 11:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-13 11:04 dpkg: Fix for Fedora22 Richard Purdie
2015-07-13 11:16 ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.