Here’s what happened in the Reproducible Builds effort between Sunday June 18 and Saturday June 24 2017:
Upcoming and Past events
Our next IRC meeting is scheduled for the 6th of July at 17:00 UTC with this agenda currently:
- Introductions
- Reproducible Builds Summit update
- NMU campaign for buster
- Press release: Debian is doing Reproducible Builds for Buster
- Reproducible Builds Branding & Logo
- should we become an SPI member
- Next meeting
- Any other business
On June 19th, Chris Lamb presented at LinuxCon China 2017 on Reproducible Builds.
On June 23rd, Vagrant Cascadian held a Reproducible Builds question and answer session at Open Source Bridge.
Reproducible work in other projects
LEDE: firmware-utils and mtd-utils/mkfs.jffs2 now honor SOURCE_DATE_EPOCH.
Toolchain development and fixes
There was discussion on #782654 about packaging bazel for Debian.
Dan Kegel wrote a patch to use ar
determinitiscally for
Homebrew, a package manager for MacOS.
Dan Kegel worked on using SOURCE_DATE_EPOCH
and other reproduciblity fixes
in fpm, a multi platform
package builder.
The Fedora Haskell team disabled parallel builds to achieve reproducible builds.
Bernhard M. Wiedemann submitted many patches upstream:
- Sorting file lists:
- Use date from
SOURCE_DATE_EPOCH
:
Packages fixed and bugs filed
Patches submitted upstream:
- Bernhard M. Wiedemann
- samba, sorting file lists
- open-mpi, merged, sorting file lists
- virtualbox, incomplete fix, use
gzip -n
- xen/etherboot,
xen/mini-os,
use
gzip -n
- nautilus-dropbox, drop date
- samba,
use date from
SOURCE_DATE_EPOCH
.
Other patches filed in Debian:
- Adrian Bunk:
- #865577 filed against cloud-init.
- #865813 filed against jumpnbump.
- Chris Lamb:
Reviews of unreproducible packages
573 package reviews have been added, 154 have been updated and 9 have been removed in this week, adding to our knowledge about identified issues.
1 issue type has been updated:
- random_order_of_pdf_ids_generated_by_latex, added the name of the function that possibly causes this issue.
Weekly QA work
During our reproducibility testing, FTBFS bugs have been detected and reported by:
- Adrian Bunk (98)
diffoscope development
Version 83 was uploaded to unstable by Chris Lamb. It also moved the previous changes from experimental (to where they were uploaded) to unstable. It included contributions from previous weeks.
You can read about these changes in our previous weeks’ posts, or view the changelog directly (raw form).
We plan to maintain a backport of this and future versions in stretch-backports.
Ximin Luo also worked on better html-dir
output for very very large diffs such
as those for GCC. So far, this includes unreleased work on a PartialString
data structure which will form a core part of a new and more intelligent
recursive display algorithm.
strip-nondeterminism development
Versions 0.035-1 was uploaded to unstable from experimental by Chris Lamb. It included contributions from:
- Bernhard M. Wiedemann
- Add CPIO handler and test case.
- Chris Lamb
- Packaging improvements.
Later in the week Mattia Rizzolo uploaded 0.035-2 with some improvements to the autopkgtest and to the general packaging.
We currently don’t plan to maintain a backport in stretch-backports like we did for jessie-backports. Please speak up if you think otherwise.
reproducible-website development
- Chris Lamb:
- Add OpenEmbedded to projects page after a discussion at LinuxCon China.
- Update some metadata for existing talks.
- Add 13 missing talks.
tests.reproducible-builds.org
- Alexander ‘lynxis’ Couzens
- LEDE: do a quick
sha256sum
before calling diffoscope. The LEDE build consists of 1000 packages, using diffoscope to detect whether two packages are identical takes 3 seconds in average, while callingsha256sum
on those small packages takes less than a second, so this reduces the runtime from 3h to 2h (roughly). For Debian package builds this is neglectable, as each build takes several minutes anyway, thus adding 3 seconds to each build doesn’t matter much. - LEDE/OpenWrt: move
toolchain.html
creation to remote node, as this is were the toolchain is build. - LEDE: remove debugging output for images.
- LEDE: fixup HTML creation for toolchain, build path, downloaded software and GIT commit used.
- LEDE: do a quick
- Mattia ‘mapreri’ Rizzolo:
- Debian: introduce Buster.
- Debian: explain how to migrate from squid3 (in jessie) to squid (in stretch).
- Holger ‘h01ger’ Levsen:
- Debian:
- Add jenkins jobs to create schroots and configure pbuilder for Buster.
- Add Buster to README/about jenkins.d.n.
- Teach jessie and ubuntu 16.04 systems how to debootstrap Buster.
- Only update indexes and pkg_sets every 30min as the jobs almost run for 15 min now that we test four suites (compared to three before).
- Create HTML dashboard, live status and dd-list pages less often.
- (Almost) stop scheduling old packages in stretch, new versions will still be scheduled and tested as usual.
- Increase scheduling limits, especially for untested, new and depwait packages.
- Replace Stretch with Buster in the repository comparison page.
- Only keep build_service logs for a day, not three.
- Add check for hanging mounts to node health checks.
- Add check for haveged to node health checks.
- Disable ntp.service on hosts running in the future, needed on stretch.
- Install amd64 kernels on all i386 systems. There is a performance issue with i386 kernels, for which a bug should be filed. Installing the amd64 kernel is a sufficient workaround, but it breaks our 32/64 bit kernel variation on i386.
- LEDE, OpenWrt: Fix up links and split TODO list.
- Upgrade i386 systems (used for Debian) and
pb3+4-amd64
(used for coreboot, LEDE, OpenWrt, NetBSD, Fedora and Arch Linux tests) to Stretch - jenkins: use java 8 as required by jenkins >= 2.60.1
- Debian:
Misc.
This week’s edition was written by Ximin Luo, Holger Levsen, Bernhard M. Wiedemann, Mattia Rizzolo, Chris Lamb & reviewed by a bunch of Reproducible Builds folks on IRC & the mailing lists.