• Bug#1063252: pristine-tar: diff for NMU version 1.50+nmu1

    From Sebastian Andrzej Siewior@21:1/5 to All on Mon Feb 26 08:00:01 2024
    Control: tags 1063252 + patch
    Control: tags 1063252 + pending

    Dear maintainer,

    I've prepared an NMU for pristine-tar (versioned as 1.50+nmu1) and
    uploaded it to DELAYED/02. Please feel free to tell me if I
    should delay it longer.

    Regards.
    Sebastian

    diff -Nru pristine-tar-1.50/debian/changelog pristine-tar-1.50+nmu1/debian/changelog
    --- pristine-tar-1.50/debian/changelog 2022-11-04 12:23:44.000000000 +0100
    +++ pristine-tar-1.50+nmu1/debian/changelog 2024-02-25 12:18:32.000000000 +0100
    @@ -1,3 +1,10 @@
    +pristine-tar (1.50+nmu1) unstable; urgency=medium
    +
    + * Non-maintainer upload.
    + * Always set the -T parameter for xz (Closes: #1063252).
    +
    + -- Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Sun, 25 Feb 2024 12:18:32 +0100
    +
    pristine-tar (1.50) unstable; urgency=medium

    [ Kevin Locke ]
    diff -Nru pristine-tar-1.50/.gitattributes pristine-tar-1.50+nmu1/.gitattributes
    --- pristine-tar-1.50/.gitattributes 2022-11-04 12:23:44.000000000 +0100
    +++ pristine-tar-1.50+nmu1/.gitattributes 1970-01-01 01:00:00.000000000 +0100
    @@ -1 +0,0 @@
    -debian/changelog merge=dpkg-mergechangelogs
    diff -Nru pristine-tar-1.50/.gitignore pristine-tar-1.50+nmu1/.gitignore
    --- pristine-tar-1.50/.gitignore 2022-11-04 12:23:44.000000000 +0100
    +++ pristine-tar-1.50+nmu1/.gitignore 1970-01-01 01:00:00.000000000 +0100
    @@ -1,16 +0,0 @@
    -*.[o
  • From Andrea Pappacoda@21:1/5 to All on Sun Mar 10 12:30:01 2024
    Hi, thanks for your fix!

    Unfortunately it seems that your patch has broke tarball generation for
    one of the packages I maintain, dynarmic.

    $ gbp export-orig
    gbp:info: Creating /home/tachi/dev/deb/dynarmic_6.5.0+ds.orig.tar.xz
    gbp:error: Pristine-tar couldn't verify
    "dynarmic_6.5.0+ds.orig.tar.xz": pristine-tar: /home/tachi/dev/deb/dynarmic/../dynarmic_6.5.0+ds.orig.tar.xz does not
    match stored hash (expected 46a18274c7d15c9bcc9eced74d050af412728ebf037777083b76fb650b70acf8, got 7b56e580ab2c12003490dc2e2708106f37d51ebe4588b377f7557d5f7db34a6b)

    I've been able to solve this issue locally by manually editing the `if (!$threads_set)` check to push `-T2` instead of `-T1` if no `-T` option
    was previously set, but I don't fully understand why this solves the
    issue.

    Wouldn't it be better to unconditionally pass `-T0` and depend on
    xz-utils >= 5.3.0 so that the multi-threaded compressor is always used
    and the output format is the same regardless of the machine used to
    generate the compressed archive?

    Thanks again!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sebastian Andrzej Siewior@21:1/5 to Andrea Pappacoda on Sun Mar 10 22:00:01 2024
    On 2024-03-10 00:12:46 [+0100], Andrea Pappacoda wrote:
    Hi, thanks for your fix!
    Hi,

    Unfortunately it seems that your patch has broke tarball generation for one of the packages I maintain, dynarmic.

    $ gbp export-orig
    gbp:info: Creating /home/tachi/dev/deb/dynarmic_6.5.0+ds.orig.tar.xz
    gbp:error: Pristine-tar couldn't verify "dynarmic_6.5.0+ds.orig.tar.xz": pristine-tar: /home/tachi/dev/deb/dynarmic/../dynarmic_6.5.0+ds.orig.tar.xz does not match stored hash (expected 46a18274c7d15c9bcc9eced74d050af412728ebf037777083b76fb650b70acf8, got 7b56e580ab2c12003490dc2e2708106f37d51ebe4588b377f7557d5f7db34a6b)

    I've been able to solve this issue locally by manually editing the `if (!$threads_set)` check to push `-T2` instead of `-T1` if no `-T` option was previously set, but I don't fully understand why this solves the issue.

    Could you check the fix in #1065751?

    Wouldn't it be better to unconditionally pass `-T0` and depend on xz-utils
    = 5.3.0 so that the multi-threaded compressor is always used and the output format is the same regardless of the machine used to generate the compressed archive?

    I told pristine-tar to pass -T argument if none was found but forgot a
    check and this didn't work. The update should work.
    And the -T argument will be recorded conditionally from now on. You
    can't always pass -T0 because the orig tarball may have been created
    without threadding and this would break it.

    Thanks again!

    Sebastian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)