Bug#1120355: dh-haskell: Builds different binary packages when nocheck specified

Chris Lamb lamby at debian.org
Fri Nov 7 23:21:29 GMT 2025


Source: dh-haskell
Version: 0.6.11b
Severity: minor
User: reproducible-builds at lists.alioth.debian.org
Usertags: toolchain
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

Hi,

I'm not at all sure whether this is actually dh-haskell's fault, but
whilst working on the Reproducible Builds effort [0], I noticed that
Haskell packages are building different binaries depending on whether
"nocheck" is specified. (I'm filing it here because it seems like the
first step.)

For instance, when I build the haskell-integer-logarithms package and
I run the testsuite (ie. I don't specify "nocheck"), I get the following:

  283de3b00123c50ff754a7b7501e52efd9c8bdb9  libghc-integer-logarithms-dev_1.0.3.1-4_amd64.deb

However, when I do specify "nocheck", I get the following:

  df5c67f1d255d04d4fcc803b30088fdd08d69481  libghc-integer-logarithms-dev_1.0.3.1-4_amd64.deb

These results are determinstic — ie. I get the same two SHAs if I repeat
the 'check' and nocheck builds.

I wonder if this is an ABI hash issue; GHC is calculating a different
hash because of the code/symbols of the testsuite part?

   https://tests.reproducible-builds.org/debian/dbdtxt/unstable/amd64/haskell-integer-logarithms_1.0.3.1-4.diffoscope.txt.gz

Indeed, poking some more makes me think the issue is not with dh-haskell,
which is AFAICT simply passing --enable-tests?

Your help appreciated. :)


Patch attached.

  [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-



More information about the Reproducible-bugs mailing list