What happened in the reproducible builds effort this week:

Toolchain fixes

Reiner Herrmann submitted a patch against debhelper to make dh_installinit source files in a stable order.

Chris Lamb found how to make cython output deterministic by ordering the keys used to traverse a dict.

Reiner Herrmann proposed a patch for pyside-tools to remove the timestamps embedded by rcc in the generated Python code.

Mattia Rizzolo rebased our custom version of debhelper on version 9.20151126.

As no objections have been made so far, Mattia Rizzolo has filled #805872 asking -Wdate-time to be turned on by default in dpkg-buildflag. Guillem has since sent a final warning before proceeding as such in the next dpkg upload.

Russ Allbery added support for SOURCE_DATE_EPOCH in podlators 4.00 which Niko Tyni intend to backport to Perl 5.22.

Packages fixed

The following packages have become reproducible due to changes in their build dependencies: fontforge, golang-github-tinylib-msgp, libpango-perl, libparanamer-java, libxaw, sqljet, stringtemplate4, uzbl, zope-mysqlda.

The following packages became reproducible after getting fixed:

Some uploads fixed some reproducibility issues, but not all of them:

  • tiger/1:3.2.3-13 uploaded by Javier Fernández-Sanguino Peña, original patch by Daniel Kahn Gillmor.

Patches submitted which have not made their way to the archive yet:

  • #805773 on keylaunch by Chris Lamb: removes an automatically-updated copyright date from the build system.
  • #805787 on deja-dup by Reiner Herrmann: use system help2man instead of embedded copy.
  • #806321 on coreutils by Lunar: use system help2man instead of embedded copy.
  • #806434 on mboxcheck by Reiner Herrmann: set the embedded date to the last date from the changelog.
  • #806452 on lierolibre by Reiner Herrmann: set LC_ALL instead of LANG to ensure how dd output looks like.
  • #806490 on binutils by Reiner Herrmann: filter user and date from test output.
  • #806517 on onboard by Reiner Herrmann: sort the list of items parsed from pkg-config.
  • #806547 on netsniff-ng by Reiner Herrmann: set LC_ALL=C when enumerating files to link.
  • #806551 on libosmocore by Reiner Herrmann: use C locale and UTC when formatting the changelog date.
  • #806552 on remake by Reiner Herrmann: set the mtime of the texinfo source to the latest debian/changelog entry.
  • #806564 on libdigidoc by Reiner Herrmann: add support for SOURCE_DATE_EPOCH in VersionInfo.cmake.

Lunar reported two issues making xz-utils unreproducible (#806328, #806331).


A seventh armhf build node has been added (resulting of two more armhf build jobs). Thanks to Vagrant Cascadian for putting this Raspberry Pi 2B to help. (h01ger)

jenkins.debian.net has been made more robust against network and proxy failures. (h01ger)

A new 100 GB partition has been set up on reproducible.debian.net to prevent disk space issues. Thanks to ProfitBricks for its continuous support to our continuous test system. (h01ger)

New graphs showing usertagged bugs have been added on the dashboard to measure the progress without FTBFS issues. Please note that comparing the two graphs might be misleading as more than 1300 FTBFS bugs have been inventoried. (h01ger)

Package reviews

78 reviews have been removed, 116 added and 49 updated this week.

25 new FTBFS have been filed by Chris West, Chris Lamb and Santiago Vila.

New issues identified this week: timestamps_in_documentation_generated_with_libwibble, copyright_year_in_documentation_generated_by_sphinx, timestamps_in_documentation_generated_by_glib_genpod, random_order_of_tmpfiles_in_postinst, random_order_in_cython_output, timestamps_in_python_code_generated_by_pyside.

Reiner Herrmann and Lunar improved the prebuilder script: the script can now be called through a symlink, run parallel builds, calls diffoscope by its new name and ensure to install its recommends, and save the text output aside the HTML one.

Reiner also added a script to lookup the last update of notes for a given package.


Santiago Villa has been recently working on making sure that Arch:all packages were properly buildable by running dpkg-buildpackage -A. This uncovered a question that is probably not currently addressed by the policy: on which architectures should architecture-independent be buildable?