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

dpkg-source: drop -k parameter from the tar command line used to extract tarballs

dpkg-source only extracts tarballs in directories that it has created
itself, there's no risk of overwriting any user files. Furthermore in
the few cases where we do extract a tarball on a non-empty directory,
we really want to be able to overwrite files already present. That's the
case with a debian.tar.gz file.

Reported-by: James Westby <james.westby@linaro.org>
Raphaël Hertzog пре 16 година
родитељ
комит
4d2b04f3e6
2 измењених фајлова са 5 додато и 1 уклоњено
  1. 4 0
      debian/changelog
  2. 1 1
      scripts/Dpkg/Source/Archive.pm

+ 4 - 0
debian/changelog

@@ -18,6 +18,10 @@ dpkg (1.15.8.5) UNRELEASED; urgency=low
   [ Raphaël Hertzog ]
   * Fix dpkg-genchanges to not split the short description in the middle of a
     UTF8 character. Closes: #593442
+  * Drop -k parameter from the tar call used by dpkg-source to extract
+    tarballs. Upstream binary files modified by the packager were not properly
+    installed due to this. Thanks to James Westby for the report.
+    Closes: #594440
 
   [ Updated programs translations ]
   * French (Christian Perrier).

+ 1 - 1
scripts/Dpkg/Source/Archive.pm

@@ -124,7 +124,7 @@ sub extract {
     # Call tar extraction process
     $spawn_opts{"delete_env"} = [ "TAR_OPTIONS" ];
     $spawn_opts{'exec'} = [ 'tar', '--no-same-owner', '--no-same-permissions',
-                            @{$opts{"options"}}, '-xkf', '-' ];
+                            @{$opts{"options"}}, '-xf', '-' ];
     spawn(%spawn_opts);
     $self->close();