Skip to content

.changes file is not identified correctly (sometimes?)

I was glancing at chromium, and noticed its diffoscope outputs reports only on the .changes file without going further down.

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/i386/diffoscope-results/chromium.html looking at its rbuild log I see:

Sat Feb 19 15:52:08 UTC 2022  I: diffoscope 204 will be used to compare the two builds:
# Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/tmp.vnIqHM8eRE/chromium_98.0.4758.102-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/tmp.vnIqHM8eRE/chromium_98.0.4758.102-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/tmp.vnIqHM8eRE/chromium_98.0.4758.102-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/tmp.vnIqHM8eRE/b1/chromium_98.0.4758.102-1_i386.changes /srv/reproducible-results/rbuild-debian/tmp.vnIqHM8eRE/b2/chromium_98.0.4758.102-1_i386.changes

## command (total time: 0.018s)
       0.018s      1 call     diff
       0.000s      1 call     cmp (internal)

## compare_files (cumulative) (total time: 0.048s)
       0.048s      1 call     abc.TextFile

## diff (total time: 0.110s)
       0.110s      6 calls    linediff

## has_same_content_as (total time: 0.000s)
       0.000s      1 call     abc.TextFile

## main (total time: 0.563s)
       0.563s      2 calls    outputs
       0.000s      1 call     cleanup

## output (total time: 0.156s)
       0.155s      1 call     html
       0.001s      1 call     text
       0.000s      1 call     json

## recognizes (total time: 0.028s)
       0.027s     44 calls    diffoscope.comparators.binary.FilesystemFile
       0.001s     42 calls    abc.TextFile

## specialize (total time: 0.002s)
       0.002s      1 call     specialize
Sat Feb 19 15:52:09 UTC 2022  E: chromium failed to build reproducibly in unstable on i386.
Sat Feb 19 15:52:09 UTC 2022  E: diffoscope 204 found issues, please check https://tests.reproducible-builds.org/debian/dbd/unstable/i386/chromium_98.0.4758.102-1.diffoscope.html

That looks very strange. There is no --debug output there, however it looks like .recognizes() doesn't go further down FilesystemFile and TextFile.

I then looked at another package (znc) and also that one had the same problem. In the case of znc, I looked at the bullseye report (its current one comes from diffoscope v177) and both the output and the profiling report look proper, so this is a regression somewhere.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information