This is an automated email from the git hooks/post-receive script.

guillem pushed a commit to branch main
in repository dpkg.

View the commit online:
https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=beb1cdbdf2f5333a85c86e120bb2abc145d07b21

commit beb1cdbdf2f5333a85c86e120bb2abc145d07b21
Author: Guillem Jover <[email protected]>
AuthorDate: Mon Jan 2 23:31:09 2023 +0100

    Dpkg::Compression: Pass --no-adjust to xz to force compression threaded mode
    
    If xz cannot meet the memory usage limit on multi-threaded mode, then
    it can end up falling back to single-threaded mode, which would then
    generate different output, making it non-reproducible. This has the
    drawback that it can then error out.
---
 scripts/Dpkg/Compression.pm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/Dpkg/Compression.pm b/scripts/Dpkg/Compression.pm
index 50a8d440c..6421e1d4e 100644
--- a/scripts/Dpkg/Compression.pm
+++ b/scripts/Dpkg/Compression.pm
@@ -366,6 +366,10 @@ sub compression_get_cmdline_compress {
     }
     my $threads = compression_get_threads();
     if ($comp eq 'xz') {
+        # Do not let xz fallback to single-threaded mode, to avoid
+        # non-reproducible output.
+        push @prog, '--no-adjust';
+
         # The xz -T1 option selects a single-threaded mode which generates
         # different output than in multi-threaded mode. To avoid the
         # non-reproducible output we pass -T+1 (supported with xz >= 5.4.0)

-- 
Dpkg.Org's dpkg

Reply via email to