Here’s what happened in the Reproducible Builds effort between Sunday July 2 and Saturday July 8 2017:
Reproducible work in other projects
Ed Maste pointed to a thread on the LLVM developer mailing list about container iteration being the main source of non-determinism in LLVM, together with discussion on how to solve this. Ignoring build path issues, container iteration order was also the main issue with rustc, which was fixed by using a fixed-order hash map for certain compiler structures. (It was unclear from the thread whether LLVM’s builds are truly path-independent or rather that they haven’t done comparisons between builds run under different paths.)
Bugs filed
- Adrian Bunk:
- Chris Lamb:
Patches submitted upstream:
- Bernhard M. Wiedemann:
- perl-Class-MethodMaker sort hashtable
- perl-Mouse sort file list
- thunderbird sort symbol list
SOURCE_DATE_EPOCH
support:- graphviz, merged
- gnupg, merged in improved variant by upstream
- janus-gateway, merged
- libkcapi merged
- txt2tags fixup on earlier patch, merged
Reviews of unreproducible packages
52 package reviews have been added, 62 have been updated and 20 have been removed in this week, adding to our knowledge about identified issues.
No issue types were updated or added this week.
Weekly QA work
During our reproducibility testing, FTBFS bugs have been detected and reported by:
- Adrian Bunk (143)
- Andreas Beckmann (1)
- Dmitry Shachnev (1)
- Lucas Nussbaum (3)
- Niko Tyni (3)
- Scott Kitterman (1)
- Sean Whitton (1)
diffoscope development
Development continued in git with contributions from:
- Ximin Luo:
- Add a PartialString class to help with lazily-loaded output formats such as html-dir.
- html and html-dir output:
- add a size-hint to the diff headers and lazy-load buttons
- add new limit flags and deprecate old ones
- html-dir output
- split index pages up if they get too big
- put css/icon data in separate files to avoid duplication
- main: warn if loading a diff but also giving diff-calculation flags
- Test fixes for Python 3.6 and CI environments without imagemagick (#865625).
- Fix a performance regression (#865660) involving the Wagner-Fischer algorithm for calculating levenshtein distance.
With these changes, we are able to generate a dynamically loaded HTML diff for GCC-6 that can be displayed in a normal web browser. For more details see this mailing list post.
Misc.
This week’s edition was written by Ximin Luo, Bernhard M. Wiedemann and Chris Lamb & reviewed by a bunch of Reproducible Builds folks on IRC & the mailing lists.