control: tags -1 - upstream
control: reassign -1 debhelper
control: found -1 13.25
control: fixed -1 13.32

On Fri, Jun 12, 2026 at 11:49:50PM +0000, Chulkov, Georgi wrote:
> Package: libzstd
> Version: 1.5.7+dfsg-3
> Severity: normal
> Tags: reproducibility upstream
> 
> The `zstd` binary `.deb` produced by the libzstd source package is not
> byte-identical when built with `DEB_BUILD_OPTIONS=parallel=1` versus
> `parallel=2` (or higher).
> 
> Reproduction:
> 1. Get source: `apt-get source libzstd`
> 2. Build twice with different parallel values, in fresh trees each time:
>      DEB_BUILD_OPTIONS="parallel=1 nocheck" dpkg-buildpackage -b --no-sign
>      DEB_BUILD_OPTIONS="parallel=2 nocheck" dpkg-buildpackage -b --no-sign
> 3. Compare the resulting `zstd_1.5.7+dfsg-3_<arch>.deb` files (e.g. with 
> sha256sum or diffoscope).
> 
> Expected: identical bytes.
[snip]

This was actually a bug in debhelper; it is fixed in debhelper 13.32.

> Suspected cause: an ordering issue in debian/rules between the step that
> populates the `Commands` substvar (`dh_installcommands` or equivalent —
> the consumer of `debian/zstd.commands`) and the step that assembles
> the .deb's control via dpkg-gencontrol. At parallel = 1 these run in
> the wrong order; at parallel >= 2 the parallel scheduler happens to
> order them correctly. Make-level dependencies between them would make
> the result independent of the scheduler.

I am sorry, but I simply cannot pass this by. In the future, when
using LLMs to report bugs, please, please, PLEASE take a minute to
actually READ the bug report and check whether it makes sense!

In this case, I wasted time I could have spent fixing other stuff, because
I doubted my memory of how debhelper worked, and I had to actually check to
make sure that:
- there IS NO `sh_installcommands` program at all
- there IS NO `debian/zstd.commands` file, this is all handled by substvars
- there ARE NO commands that run in the wrong order
- there ARE NO Makefile targets in the libzstd debian/rules file that
  affect the ordering of command execution IN ANY WAY

Please. Please take a minute to make sure you do not waste people's time
with COMPLETELY incorrect and EASILY verifiable statements!

[snip]
> Tagging upstream because the fix likely lives in libzstd's debian/rules.

Excuse me, what?! Once again, PLEASE read what the LLM wrote! This statement
makes ABSOLUTELY no sense: the debian/rules file is exactly the opposite of
an upstream thing!

I do not apologize for the "shouting". Sending a bug report like this is NOT OK!

G'luck,
Peter

-- 
Peter Pentchev  [email protected] [email protected] [email protected]
PGP key:        https://www.ringlet.net/roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13

Attachment: signature.asc
Description: PGP signature

Reply via email to