What happened in the Reproducible Builds effort between Sunday January 1 and Saturday January 7 2017:
GSoC and Outreachy updates
- Maria Glukhova blogged about Getting to know diffoscope better.
Toolchain development
- #849999 was filed: “dpkg-dev should not set SOURCE_DATE_EPOCH to the empty string”
Packages reviewed and fixed, and bugs filed
Chris Lamb:
Dhole:
- #849926 filed against nxt-firmware.
Reviews of unreproducible packages
13 package reviews have been added, 4 have been updated and 6 have been removed in this week, adding to our knowledge about identified issues.
2 issue types have been added/updated:
- Add new randomness_in_documentation_generated_by_yardoc toolchain issue.
- Add fix for randomness_in_documentation_generated_by_yardoc toolchain issue.
Upstreaming of reproducibility fixes
Merged:
Opened:
Weekly QA work
During our reproducibility testing, the following FTBFS bugs have been detected and reported by:
- Chris Lamb (4)
diffoscope development
diffoscope 67 was uploaded to unstable by Chris Lamb. It included contributions from :
[ Chris Lamb ]
* Optimisations:
- Avoid multiple iterations over archive by unpacking once for an ~8X
runtime optimisation.
- Avoid unnecessary splitting and interpolating for a ~20X optimisation
when writing --text output.
- Avoid expensive diff regex parsing until we need it, speeding up diff
parsing by 2X.
- Alias expensive Config() in diff parsing lookup for a 10% optimisation.
* Progress bar:
- Show filenames, ELF sections, etc. in progress bar.
- Emit JSON on the the status file descriptor output instead of a custom
format.
* Logging:
- Use more-Pythonic logging functions and output based on __name__, etc.
- Use Debian-style "I:", "D:" log level format modifier.
- Only print milliseconds in output, not microseconds.
- Print version in debug output so that saved debug outputs can standalone
as bug reports.
* Profiling:
- Also report the total number of method calls, not just the total time.
- Report on the total wall clock taken to execute diffoscope, including
cleanup.
* Tidying:
- Rename "NonExisting" -> "Missing".
- Entirely rework diffoscope.comparators module, splitting as many separate
concerns into a different utility package, tidying imports, etc.
- Split diffoscope.difference into diffoscope.diff, etc.
- Update file references in debian/copyright post module reorganisation.
- Many other cleanups, etc.
* Misc:
- Clarify comment regarding why we call python3(1) directly. Thanks to Jérémy
Bobbio <lunar@debian.org>.
- Raise a clearer error if trying to use --html-dir on a file.
- Fix --output-empty when files are identical and no outputs specified.
[ Reiner Herrmann ]
* Extend .apk recognition regex to also match zip archives (Closes: #849638)
[ Mattia Rizzolo ]
* Follow the rename of the Debian package "python-jsbeautifier" to
"jsbeautifier".
[ siamezzze ]
* Fixed no newline being classified as order-like difference.
reprotest development
reprotest 0.5 was uploaded to unstable by Chris Lamb. It included contributions from:
[ Ximin Luo ]
* Stop advertising variations that we're not actually varying.
That is: domain_host, shell, user_group.
* Fix auto-presets in the case of a file in the current directory.
* Allow disabling build-path variations. (Closes: #833284)
* Add a faketime variation, with NO_FAKE_STAT=1 to avoid messing with
various buildsystems. This is on by default; if it causes your builds
to mess up please do file a bug report.
* Add a --store-dir option to save artifacts.
Other contributions (not yet uploaded):
- Chris Lamb:
reproducible-builds.org website development
-
``website.git notifications now go to
#reproducible-builds
. Thanks todanielsh
and the KGB bot maintainers. - Daniel Shahaf:
- Holger Levsen:
- Chris Lamb:
tests.reproducible-builds.org
- Debian
arm64
architecture was fully tested in all three suites in just 15 days. Thanks again to Codethink.co.uk for their support! - Log diffoscope profiling info. (lamby)
- Run
pg_dump
with-O --column-inserts
to make easier to import our main database dump into a non-PostgreSQL database. (mapreri) - Debian
armhf
network: CPU frequency scaling was enabled for three Firefly boards, enabling the CPUs to run at full speed. (vagrant) - Arch Linux and Fedora tests have been disabled (h01ger)
- Improve mail notifications about daily problems. (h01ger)
Misc.
This week’s edition was written by Chris Lamb, Holger Levsen and Vagrant Cascadian, reviewed by a bunch of Reproducible Builds folks on IRC & the mailing lists.