What happened in the Reproducible Builds effort between Sunday August 7 and Saturday August 13 2016:
GSoC and Outreachy updates
- spectranaut blogged about a database migration plan
- ceridwen provided a weekly update of reprotest development
Reproducible work in other projects
Thomas Schmitt email@example.com implemented a new -as mkisofs option:
--set_all_file_dates timestring Set mtime, atime, and ctime of all files and directories to the given time. Valid timestring formats are: 'Nov 8 14:51:13 CET 2007', 110814512007.13, 2007110814511300. See also --modification-date= and man xorriso, Examples of input timestrings. This action stays delayed until mkisofs emulation ends. Up to then it can be revoked by --set_all_file_dates with empty timestring. In any case files which get into the ISO after mkisofs emulation ended will not be affected, unless another mkisofs emulation applies --set_all_file_date again.
LEDE developer Jonas Gorski submitted a patch to fix build times in their kernel:
kernel: allow reproducible builds Similar how we fix the file times in the filesystems, fix the build time of the kernel, and make the build number static. This should allow the kernel build to be reproducible when combined with setting the KERNEL\_BUILD\_USER and \_DOMAIN in case of different machines. The reproducability only applies to non-initramfs kernels, those still require additional changes. Signed-off-by: Jonas Gorski <firstname.lastname@example.org>
Packages reviewed and fixed, and bugs filed
Patches have been submitted by:
- Chris Lamb:
- perl: please make the output of ExtUtils::Command::MM reproducible
- advi: please make the build reproducible
- bam: please make the build reproducible
- bedtools: please make the build reproducible
- ddd: please make the build reproducible
- dnssec-trigger: please make the build reproducible
- gnunet-gtk: please make the build reproducible
- handbrake: please make the build reproducible
- libpam-ldap: please make the build reproducible
- mp4v2: please make the build reproducible
- n2n: please make the build reproducible
- pixelmed-codec: please make the build reproducible
- python-attrs: please make the build reproducible
- tuxpaint: please make the build reproducible
- valknut: please make the build reproducible
- winswitch: please make the build reproducible
- Reiner Herrmann:
- Sascha Steinbiss:
28 reviews have been added, 4 have been updated and 7 have been removed in this week, adding to our knowledge about identified issues.
Issue types have been added/updated:
- rustc armhf blacklist updated
- timestamps_in_manpages_generated_by_perl_extutils_mm_unix toolchain issue added
Weekly QA work
FTBFS bugs have been reported by:
- Chris Lamb (23)
- shirish शिरीष (1)
- Chris Lamb:
- Rename debian/install -> debian/difoscope.install now we have multiple binary packages.
- Rename diffoscope.__main__ to diffoscope.main as its not a “real” magic name
- comparators/directory.py: Call logger.warning over logger.warn.
- Don’t name first argument of Difference.from_command “cls” as it’s not a classmethod.
- platform.get_linux_distribution() will break in Python 3.7.
- Raise NotImplementedError() instances over NotImplemented classes.
- Drop unused imports.
- Correct indentation levels in various files.
- Mattia Rizzolo:
- do not try to execute the command if the command is not available
- Revert “debian/rules: workaround dh-python’s bug related to build profiles”
- Remove build profiles, as they break dh-python
- debian/rules: workaround dh-python’s bug related to build profiles
- debian/rules: teach pybuild where to put diffoscope’s files
- debian/control: add more build-dependencies to be able to run more tests at build time
- default-jdk-headless is enough to have javap, instead of all of defaul-jdk
- debian/control: mark build-dependency needed only for tests with a <build profile
- debian/rules: be more verbose when running the tests, in particular, show why tests are being skipped
- autopkgtest: be more verbose when running the tests
- Ximin Luo:
- Remove debugging print from tool_older_than
- Fix typo in tool_older_than
- Disable the llvm-dis test if the version is lower than 3.8
- Add support for reading the symbol table to ArFile
- Fix failing directory test
- Ignore line numbers because different llvm-dis versions output extra metadata
- Add test for rlib files, helping also to test ArFile, LlvmBitCodeFile and RustObjectFile
- Add support for reading Rust LLVM object files
- Add support for reading LLVM bitcode files
- schedule testing/i386 more often than unstable+experimental, in order to see the results of building with build path variation. (h01ger)
- spectranaut wrote a patch for using sqlalchemy which has yet to be merged.
- Our build path variation tests on testing/i386 have brought the first results: the build essential package set is now 43% unreproducible compared to “only” 26% on amd64. So another conclusion from this is probably that the build essential maintainers should merge our patches, the other is that build path variation is still a goal far way, which also can be seen “nicely” now in the general suite graph showing the impact of build path variation introduced last week. (h0lger)
- Chris Lamb wrote a patch to improve the top-level navigation so that we can always get back to “home” of a package.
- Chris Lamb also wrote a patch to explicitly log when a build was successful instead of it being implicit.
Chris started to ping old bugs with patches and no maintainer reaction so far.
This week’s edition was written by Chris Lamb and Holger Levsen and reviewed by a bunch of Reproducible Builds folks on IRC.