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=f9792596d17df93ce44ab71dd0abb2ba9aad8f27

commit f9792596d17df93ce44ab71dd0abb2ba9aad8f27
Author: Guillem Jover <[email protected]>
AuthorDate: Mon Dec 19 01:49:12 2022 +0100

    libdpkg: On threads-max > 0 pass --no-adjust to xz to force 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.
---
 lib/dpkg/compress.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/dpkg/compress.c b/lib/dpkg/compress.c
index 7627f589d..2bf84558e 100644
--- a/lib/dpkg/compress.c
+++ b/lib/dpkg/compress.c
@@ -793,6 +793,10 @@ compress_xz(struct compress_params *params, int fd_in, int 
fd_out,
                command_add_arg(&cmd, "-e");
 
        if (params->threads_max > 0) {
+               /* Do not let xz fallback to single-threaded mode, to avoid
+                * non-reproducible output. */
+               command_add_arg(&cmd, "--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

-- 
Dpkg.Org's dpkg

Reply via email to