ソースを参照

Dpkg::Source::Archive: Use tar --format=gnu when creating archives

Explicitly instruct Dpkg::Source::Archive to use the gnu format when
creating archives. Some versions of tar (specifically on openSUSE >= 12.2)
have a different default tar format. This change makes the archive
creation more consistent.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Signed-off-by: Guillem Jover <guillem@debian.org>
Jan Blunck 12 年 前
コミット
3f0c739bff
共有2 個のファイルを変更した4 個の追加1 個の削除を含む
  1. 3 0
      debian/changelog
  2. 1 1
      scripts/Dpkg/Source/Archive.pm

+ 3 - 0
debian/changelog

@@ -13,6 +13,9 @@ dpkg (1.17.12) UNRELEASED; urgency=low
     columns, shown by default, can be turned off with the new ‘A’ key,
     columns, shown by default, can be turned off with the new ‘A’ key,
     or bound to another key via the new “archdisplay” keybinding.
     or bound to another key via the new “archdisplay” keybinding.
   * Fix a descriptor leak on dselect subprocesses when --debug is used.
   * Fix a descriptor leak on dselect subprocesses when --debug is used.
+  * Use «tar --format=gnu» when creating source archives. This makes sure we
+    get a deterministic output format, regardless of what tar defaults to.
+    Thanks to Jan Blunck <jblunck@infradead.org>..
 
 
   [ Updated programs translations ]
   [ Updated programs translations ]
   * German (Sven Joachim).
   * German (Sven Joachim).

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

@@ -49,7 +49,7 @@ sub create {
     # Call tar creation process
     # Call tar creation process
     $spawn_opts{delete_env} = [ 'TAR_OPTIONS' ];
     $spawn_opts{delete_env} = [ 'TAR_OPTIONS' ];
     $spawn_opts{exec} = [ 'tar', '--null', '-T', '-', '--numeric-owner',
     $spawn_opts{exec} = [ 'tar', '--null', '-T', '-', '--numeric-owner',
-                            '--owner', '0', '--group', '0',
+                            '--owner', '0', '--group', '0', '--format=gnu',
                             @{$opts{options}}, '-cf', '-' ];
                             @{$opts{options}}, '-cf', '-' ];
     *$self->{pid} = spawn(%spawn_opts);
     *$self->{pid} = spawn(%spawn_opts);
     *$self->{cwd} = getcwd();
     *$self->{cwd} = getcwd();