Преглед изворни кода

dpkg-deb: Move tar option --no-recursion before -T

With tar > 1.28 the --no-recursion option is now positional, and needs
to be passed before the -T option, otherwise the tarball will end up
with duplicated entries.

Stable-Candidate: 1.16.x 1.17.x
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Guillem Jover <guillem@debian.org>
Richard Purdie пре 11 година
родитељ
комит
fcfe4f3aa2
2 измењених фајлова са 5 додато и 1 уклоњено
  1. 4 0
      debian/changelog
  2. 1 1
      dpkg-deb/build.c

+ 4 - 0
debian/changelog

@@ -22,6 +22,10 @@ dpkg (1.18.2) UNRELEASED; urgency=low
     detection against damaged data, at a negligible speed difference.
   * Only use the SHELL environment variable for interactive shells.
     Closes: #788819
+  * Move tar option --no-recursion before -T in dpkg-deb. With tar > 1.28 the
+    --no-recursion option is now positional, and needs to be passed before
+    the -T option, otherwise the tarball will end up with duplicated entries.
+    Thanks to Richard Purdie <richard.purdie@linuxfoundation.org>.
   * Perl modules:
     - Remove non-functional timezone name support from
       Dpkg::Changelog::Entry::Debian.

+ 1 - 1
dpkg-deb/build.c

@@ -605,7 +605,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]);