--- layout: blog week: 60 published: 2016-06-21 08:06:33 --- What happened in the [Reproducible Builds](https://wiki.debian.org/ReproducibleBuilds) effort between June 12th and June 18th 2016: Media coverage -------------- * Sune Vuorela blogged about [making Qt documentation reproducible](http://pusling.com/blog/?p=410) while spending good times in the Alps. GSoC and Outreachy updates -------------------------- Weekly reports by our participants: - [Scarlett Clark](http://scarlettgatelyclark.com/2016/debian-kde-reproducible-builds-week-3-randa-platforms-equals-busy-times/) - [Satyam Zode](https://satyamz.github.io/blog/2016/06/13/gsoc-2016-week-2-and-3-reproducible-builds-in-debian/) Toolchain fixes --------------- - [texlive-bin](https://tracker.debian.org/pkg/texlive-bin)/2016.20160513.41080-3 has been uploaded to unstable, featuring support for `FORCE_SOURCE_DATE`. See the last post for details on it. - [doxygen](https://tracker.debian.org/pkg/doxygen)/1.4.4-1 has been uploaded to unstable, fixing [#822197](https://bugs.debian.org/822197) ([upstream bug](https://github.com/sphinx-doc/sphinx/pull/2534)), which caused some generated html file to contain unreproducible memory addresses of Python objects used at build time. - [debhelper](https://tracker.debian.org/pkg/debhelper)/9.20160618 has been uploaded to unstable, fixing [#824490](https://bugs.debian.org/824490), which instructs `ant` to not save the username of the build user in the generated files. Original patch by Emmanuel Bourg. - HW42 reported [a long-known (although only internally) bug in our dpkg-buildinfo](https://lists.alioth.debian.org/pipermail/reproducible-builds/Week-of-Mon-20160613/005789.html). this particular bug doesn't affect our current infrastructure, but it's a blocker for having .buildinfo support merged upstream. - [epydoc](https://tracker.debian.org/pkg/epydoc)/3.0.1+dfsg-13 and 3.0.1+dfsg-14 have been uploaded by Kenneth J. Pronovici which fixes nondeterministic ordering issues in generated documentation and removes memory addresses. Original patches ([#825968](https://bugs.debian.org/825968) and [#827416](https://bugs.debian.org/827416)) by Sascha Steinbiss. With this upload of `texlive-bin` we decided to stop keeping our patched fork of as most of the patches for `SOURCE_DATE_EPOCH` support had been integrated upstream already, and the last one (making `FORCE_SOURCE_DATE` default to `1`) had been refused. So, we are now going to let the archive be rebuilt against unstable's `texlive-bin` and see how many packages will become unreproducible with this change; once enough data will be collected we will ponder whether `FORCE_SOURCE_DATE` should be exported by helper tools (such as debhelper) or manually exported by every package that needs it. (For those wondering: we still recommend to follow `SOURCE_DATE_EPOCH` always and don't recommend other projects to implement `FORCE_SOURCE_DATE`…) With the drop of `texlive-bin` we now have only **three** [modified packages in our experimental repository](https://tests.reproducible-builds.org/debian/index_repositories.html). Reproducible work in other projects ----------------------------------- - Ed Maste [sent a patch](https://reviews.freebsd.org/D6829) to have ELF Tool Chain's elfcopy support `SOURCE_DATE_EPOCH`. - Ed Maste [changed](https://svnweb.freebsd.org/base?view=revision&revision=301974) FreeBSD's `ar(1)` to have a reproducible output by default when invoked with `-s`. - Ed Maste [merged changes](https://svnweb.freebsd.org/changeset/base/301879) from NetBSD's makefs to FreeBSD's to add a command line option for setting the timestamp. - Ed Maste [reported on FreeBSD package reproducibility details](https://lists.freebsd.org/pipermail/freebsd-ports/2016-June/103584.html) from the investigation for his [BSDCan talk](https://www.bsdcan.org/2016/schedule/events/714.en.html), including [diffoscope results](https://people.freebsd.org/~emaste/reproducible-builds/iteration-1/diffoscope/) for the non-reproducible packages. - Holger Levsen spent some time thinking and [documenting how to store package notes](https://salsa.debian.org/reproducible-builds/notes.git/tree/README?h=multi-project-syntax) and issues in a multi-distribution friendly manner, so that we can share these issues and notes between reproducible efforts across different projects. [Thoughts we had about this topic](https://reproducible-builds.org/events/athens2015/issue-database/) during the Athens meeting last December are included in the updated README. Packages fixed -------------- The following 12 packages have become reproducible due to changes in their build dependencies: [django-floppyforms](https://tracker.debian.org/pkg/django-floppyforms) [flask-restful](https://tracker.debian.org/pkg/flask-restful) [hy](https://tracker.debian.org/pkg/hy) [jets3t](https://tracker.debian.org/pkg/jets3t) [kombu](https://tracker.debian.org/pkg/kombu) [llvm-toolchain-3.8](https://tracker.debian.org/pkg/llvm-toolchain-3.8) [moap](https://tracker.debian.org/pkg/moap) [python-bottle](https://tracker.debian.org/pkg/python-bottle) [python-debtcollector](https://tracker.debian.org/pkg/python-debtcollector) [python-django-debug-toolbar](https://tracker.debian.org/pkg/python-django-debug-toolbar) [python-osprofiler](https://tracker.debian.org/pkg/python-osprofiler) [stevedore](https://tracker.debian.org/pkg/stevedore) The following packages have become reproducible after being fixed: * [adios](https://tracker.debian.org/pkg/adios)/1.9.0-10 by Alastair McKinstry. * [airstrike](https://tracker.debian.org/pkg/airstrike)/0.99+1.0pre6a-8 by Markus Koschany, [#826421](https://bugs.debian.org/826421) by Reiner Herrmann. * [apt-dater](https://tracker.debian.org/pkg/apt-dater)/1.0.3-1 by Patrick Matthäi, [#797211](https://bugs.debian.org/797211) by Chris Lamb. * [bitlbee](https://tracker.debian.org/pkg/bitlbee)/3.4.2-1 by Jelmer Vernooij. * [dar](https://tracker.debian.org/pkg/dar)/2.5.5-1 by Laszlo Boszormenyi. * [fastjet](https://tracker.debian.org/pkg/fastjet)/3.0.6+dfsg-2 by Mattia Rizzolo, [#787865](https://bugs.debian.org/787865) by Maria Valentina Marin. * [libretro-beetle-pce-fast](https://tracker.debian.org/pkg/libretro-beetle-pce-fast)/0.9.38.7+git20160609-1 by Sérgio Benjamim, [#827147](https://bugs.debian.org/827147) by Reiner Herrmann. * [libretro-beetle-psx](https://tracker.debian.org/pkg/libretro-beetle-psx)/0.9.38.6+git20151019-2 by Sérgio Benjamim, [#827148](https://bugs.debian.org/827148) by Reiner Herrmann. * [mx](https://tracker.debian.org/pkg/mx)/1.99.4-1 by Ying-Chun Liu. * [python-coverage](https://tracker.debian.org/pkg/python-coverage)/4.1+dfsg.1-1 by Ben Finney. * [shiro](https://tracker.debian.org/pkg/shiro)/1.2.5-1 by Tony Mancill, [#797296](https://bugs.debian.org/797296) by Chris Lamb. * [splix](https://tracker.debian.org/pkg/splix)/2.0.0+svn315-5 by Didier Raboud. * [u-boot](https://tracker.debian.org/pkg/u-boot)/2016.07~rc1+dfsg1-3 by Vagrant Cascadian, debugging and [patch](https://lists.alioth.debian.org/pipermail/reproducible-builds/Week-of-Mon-20160606/005722.html) by HW42, patches [submitted](https://patchwork.ozlabs.org/patch/634190/) [upstream](https://patchwork.ozlabs.org/patch/636667/). Some uploads have fixed some reproducibility issues, but not all of them: * [gcc-mingw-w64](https://tracker.debian.org/pkg/gcc-mingw-w64)/18 by Stephen Kitt. * [gnuplot](https://tracker.debian.org/pkg/gnuplot)/5.0.3+dfsg3-6 by Anton Gladky, [#827197](https://bugs.debian.org/827197) by Alexis Bienvenüe. Uploads with reproducibility fixes that currently fail to build: * [ruby2.3](https://tracker.debian.org/pkg/ruby2.3)/2.3.1-3 by Christian Hofstaedtler, avoids unreproducible rbconfig.rb files by always using bash for building. Patches submitted that have not made their way to the archive yet: * [#827109](https://bugs.debian.org/827109) against [asciijump](https://tracker.debian.org/pkg/asciijump) by Reiner Herrmann: sort source files for deterministic linking order. * [#827112](https://bugs.debian.org/827112) against [boswars](https://tracker.debian.org/pkg/boswars) by Reiner Herrmann: sort source files for deterministic linking order. * [#827114](https://bugs.debian.org/827114) against [overgod](https://tracker.debian.org/pkg/overgod) by Reiner Herrmann: use C locale for sorting source files. * [#827115](https://bugs.debian.org/827115) against [netpbm](https://tracker.debian.org/pkg/netpbm) by Alexis Bienvenüe: honour `SOURCE_DATE_EPOCH` while generating output. * [#827124](https://bugs.debian.org/827124) against [funguloids](https://tracker.debian.org/pkg/funguloids) by Reiner Herrmann: use C locale for sorting files. * [#827145](https://bugs.debian.org/827145) against [scummvm](https://tracker.debian.org/pkg/scummvm) by Reiner Herrmann: don't embed extra fields in zip archive and build with proper host architecture. * [#827150](https://bugs.debian.org/827150) against [netpanzer](https://tracker.debian.org/pkg/netpanzer) by Reiner Herrmann: sort source files for deterministic linking order. * [#827172](https://bugs.debian.org/827172) against [reaver](https://tracker.debian.org/pkg/reaver) by Alexis Bienvenüe: sort object files for deterministic linking order. * [#827187](https://bugs.debian.org/827187) against [latex2html](https://tracker.debian.org/pkg/latex2html) by Alexis Bienvenüe: iterate deterministic over Perl hashes; honour `SOURCE_DATE_EPOCH` for output; strip username from output; sort index keys. * [#827313](https://bugs.debian.org/827313) against [cherrypy3](https://tracker.debian.org/pkg/cherrypy3) by Sascha Steinbiss: prevent memory addresses in output. * [#827361](https://bugs.debian.org/827361) against [matplotlib](https://tracker.debian.org/pkg/matplotlib) by Alexis Bienvenüe: honour `SOURCE_DATE_EPOCH` in output and sort keys while iterating over dict. * [#827382](https://bugs.debian.org/827382) against [dwarfutils](https://tracker.debian.org/pkg/dwarfutils) by Reiner Herrmann: fix array size, which caused memory from outside a table to be embedded into output. * [#827384](https://bugs.debian.org/827384) against [skytools3](https://tracker.debian.org/pkg/skytools3) by Sascha Steinbiss: use stable sorting order and remove timestamps from documentation. * [#827419](https://bugs.debian.org/827419) against [ldaptor](https://tracker.debian.org/pkg/ldaptor) by Sascha Steinbiss: sort list of input files and prevent home directory from leaking into documentation. * [#827546](https://bugs.debian.org/827546) against [git-buildpackage](https://tracker.debian.org/pkg/git-buildpackage) by Sascha Steinbiss: replace timestamps in documentation with changelog date; prevent temporary paths in documentation. * [#827572](https://bugs.debian.org/827572) against [xprobe](https://tracker.debian.org/pkg/xprobe) by Reiner Herrmann: sort list of object files in static library archives. Package reviews --------------- 36 reviews have been added, 12 have been updated and 31 have been removed in this week. 17 FTBFS bugs have been reported by Chris Lamb, Santiago Vila and Dominic Hargreaves. diffoscope development ---------------------- Satyam worked on argument completion ([#826711](https://bugs.debian.org/826711)) for diffoscope. strip-nondeterminism development -------------------------------- Mattia Rizzolo uploaded [strip-nondeterminism](https://tracker.debian.org/pkg/strip-nondeterminism) 0.019-1~bpo8+1 to jessie-backports. reprotest development --------------------- Ceridwen filed an Intent To Package (ITP) bug for reprotest as [#827293](https://bugs.debian.org/827293). tests.reproducible-builds.org ----------------------- - Mattia Rizzolo uploaded [pbuilder](https://tracker.debian.org/pkg/pbuilder) 0.225 to unstable, providing built-in support for eatmydata. We're planning to use it in armhf and i386 builders where we don't build in tmpfs, to increase the build speed some more. - Valery Young reworked the appearance of the package page, hopefully making them more intuitive and usable. In the process she changed the script generating them to use [a real templating system](https://mustache.github.io/), thus improving maintenance for the future. - Holger adjusted the scheduler to reschedule packages in state 'depwait' after two days instead of three. - Mattia added the bug title next to the bug numbers in the notes. Misc. ----- This week's edition was written by Mattia Rizzolo, Reiner Herrmann, Ed Maste and Holger Levsen and reviewed by a bunch of Reproducible builds folks on IRC.