Here’s what happened in the Reproducible Builds effort between Sunday October 1 and Saturday October 7 2017:
Media coverage
-
Bernhard sent another report about the status of Reproducible openSUSE. They currently they are at 478 unreproducible and 11,111 reproducible packages out of 11,821, so also at 93%!
-
Holger attempted to get a Reproducible Builds devroom at FOSDEM 2018 but sadly this proposal was not accepted.
Documentation updates
Packages reviewed and fixed, and bugs filed
- Bernhard M. Wiedemann:
- Chris Lamb:
- jathan:
Reviews of unreproducible packages
32 package reviews have been added, 46 have been updated and 62 have been removed in this week, adding to our knowledge about identified issues.
Weekly QA work
During our reproducibility testing, FTBFS bugs have been detected and reported by:
- Adrian Bunk (27)
diffoscope development
- Chris Lamb:
- Mattia Rizzolo:
strip-nondeterminism development
Rob Browning noticed that strip-nondeterminism was causing serious performance regressions in the Clojure programming language within Debian. After some discussion, Chris Lamb also posted a query to debian-devel in case there were any other programming languages that might be suffering from the same problem.
- Chris Lamb:
- jar.pm: Clojure considers the .class file to be stale if it shares the same timestamp of the .clj. We thus adjust the timestamps of the .clj to always be younger.. (Closes: #877418)
- jar.pm, zip.pm: Allow $options{member_normalizer} callback to support specifying the timestamp.
- zip.pm: Ensure that we don’t try and write an old timestamp; Archive::Zip will do this anyway, just noisily.
- zip.pm: Calculate the target canonical time in just one place.
- bin/strip-nondeterminism: Print a warning in –verbose mode if no canonical time specified.
- jar.pm: Update comment to reflect that NTFS/FAT has a 2s timestamp granularity.
- jar.pm: s/NTFS/FAT/. Thanks to James Ross.
reprotest development
Versions 0.7.1 and 0.7.2 were uploaded to unstable by Ximin Luo:
- New features:
- Add a
--auto-build
option to try to determine which specific variations cause unreproducibility. - Add a
--source-pattern
option to restrict copying ofsource_root
, and set this automatically in our presets.
- Add a
- Usability improvements:
- Improve error messages in some common scenarios.
- Fiving a
source_root
orbuild_command
that doesn’t exist - Using reprotest with default settings after not installing Recommends
- Fiving a
- Output hashes after a successful
--auto-build
. - Print a warning message if we reproduced successfully but didn’t vary everything.
- Improve error messages in some common scenarios.
- Fix varying both
umask
anduser_group
at the same time. - Have
dpkg-source
extract to different build dir if varying the build-path. - Pass
--exclude-directory-metadata
todiffoscope(1)
by default as this is the majority use-case. - Various bug fixes to get the basic
dsc+schroot
example working.
It included contributions already covered by posts of the previous weeks, as well as new ones from:
- Ximin Luo:
tests.reproducible-builds.org
- Mattia Rizzolo:
- Re-deploy
odxu4a
after being reinstalled and renamed fromodxu4
.
- Re-deploy
- Vagrant Cascadian:
Misc.
This week’s edition was written by Bernhard M. Wiedemann, Chris Lamb, Holger Levsen, Mattia Rizzolo & reviewed by a bunch of Reproducible Builds folks on IRC & the mailing lists.