Reproducible builds folks: Reproducible builds: week 50 in Stretch cycle
What happened in the reproducible
builds effort between April 3rd and April 9th 2016:
Media coverage
Emily Ratliff wrote an article for SecurityWeek called Establishing Correspondence Between an Application and its Source Code - How Combining Two Completely Separate Open Source Projects Can Make Us All More Secure.
Tails have started work on a
design for freezable APT repositories to make it easier and practical to perform reproductions of an entire distribution at a given point in time, which will be needed to create reproducible installation- or live-media.
Toolchain fixes
Alexis Bienven e submitted patches adding support for
SOURCE_DATE_EPOCH
in several tools: transfig,
imagemagick,
rdtool, and
asciidoctor. boyska submitted one for
python-reportlab.
Packages fixed
The following packages have become reproducible due to changes in their
build dependencies:
atinject-jsr330
brailleutils
cglib3
gnugo
libcobra-java
libgnumail-java
libjchart2d-java
libjcommon-java
libjfreechart-java
libjide-oss-java
liblaf-widget-java
liblastfm-java
liboptions-java
octave-control
octave-mpi
octave-nan
octave-parallel
octave-stk
octave-struct
octave-tsa
oar
The following packages became reproducible after getting fixed:
- apt-listchanges/2.88 by Robert Luberda.
- cgal/4.8-1 by Joachim Reichel.
- erlang-bitcask/2.0.2+dfsg-1 by Nobuhiro Iwamatsu.
- geneweb/6.08+git20160228+dfsg-2 by Guillaume Brochu.
- glance/2:12.0.0~rc2-1 uploaded by Thomas Goirand, original patch by Chris Lamb.
- gle-graphics/4.2.5-4 by Christian T. Steigies.
- maude uploaded by Andreas Tille, patch by Alexis Bienven e.
- psqlodbc/1:09.05.0100-3 by Christoph Berg.
- resource-agents/1:3.9.7-3 by Christoph Berg.
- vgabios/0.7a-6 by Reiner Herrmann.
- vim/2:7.4.1689-2 by James McCoy.
- xmhtml/1.1.10-2 by Graham Inggs with Reiner Herrmann's help.
- xscreensaver/5.34-2 uploaded by Tormod Volden, original patch by Sascha Steinbiss.
- rkward/0.6.5-1 uploaded by Thomas Friedrichsmeier, original patch by Philip Rinn.
- mailfilter/0.8.4-1 uploaded by Elimar Riesebieter, original patch by Chris Lamb.
- bind9/1:9.10.3.dfsg.P4-6 uploaded by Michael Gilbert, original patch by Reiner Herrmann.
- bzr/2.7.0- 3,4 by Jelmer Vernooij.
- samba/2:4.3.6+dfsg-2 uploaded by Mathieu Parent, fix by Jelmer Vernooij.
- fwupdate/0.5-3 by Mario Limonciello.
- paraview/5.0.1+dfsg1-1 by Anton Gladky.
- #819883 on debootstrap by Reiner Herrmann: tell tar to sort the archive members.
- #819885 on chktex by Sascha Steinbiss: use the time of latest
debian/changelogentry as documentation timestamp. - #819915 on kannel by Alexis Bienven e: use the time of latest
debian/changelogentry as documentation timestamp. - #819921 on basket by Alexis Bienven e: remove build date from debug info.
- #819965 on openarena-data by Alexandre Detiste: normalize file permissions before creating
.pk3archive. - #820016 on gabedit by Alexis Bienven e: sort object files used to build the executable.
- #820032 on bibledit-gtk by Alexis Bienven e: remove useless included
Makefile. - #820072 on synfig by Alexis Bienven e: remove build date from info output.
- #820148 on autopkgtest by Alexis Bienven e: fix install order to cope with locales with case insensitive globbing.
- #820152 on anope by Alexis Bienven e: remove build date from the version string.
- #820179 on aodh by Alexis Bienven e: remove build date from the documentation.
- #820183 on cython by Alexis Bienven e: add support
SOURCE_DATE_EPOCH. - #820194 on nasm by rain1: sorts keys when traversing hash tables used to build the documentation.
- #820226 on chrony by Alexis Bienven e: add support for
SOURCE_DATE_EPOCHto preset thentp_era_splitparameter. - #820457 on recode by Alexis Bienven e: use system
help2man. - #820522 on gtkspell by Alexis Bienven e: force shell to
/bin/shin exampleMakefile.
- An architecture agnostic summary has been added to the reproducible-tracker.json by Valerie Young to make it easy to parse whether a package is unreproducible anywhere.
- To find more reproducibility issues a new variation was added to the i386 builders, so that one build is done using a 32 bit kernel (686-PAE) and the other build is using a 64 bit kernel (amd64). (h01ger)
- Niko Tyni was the first to notice a bug due to this: #821182 perl: embeds kernel architecture information
- The 2nd builds are now done in fr_CH on amd64, de_CH on i386 and it_CH on armhf. (h01ger)
- The variation table has been updated to reflect the recent changes and various small bugs have been fixed. (h01ger)
What happened in the 
The final lists of accomplishments of the day was again very impressive
And that is the end of this year s Debian Ruby team sprint. I hope we do it all over again next year.
A disjunct set of people, who I will also not name, were very disappointed to find out that
In a party arranged like above, when the people closest to wall need to go alleviate themselves of some beer, you basically have to perform a removal from the bottom of a stack, which requires popping all the elements at the top. When they come back, you have to options:
Right after breaking for lunch, but before actually going out, we made what so far is official group photo (I might try again as the shot was not a really good one).
Of course the most interesting part was the actual work that was done, and day 2 list is not less impressive than the day before:
There was enough food that at the end we were all very full.
And with the spokesperson task of the day done, off to hacking I am!
The day started with a quick setup, with a simple 8-port switch, and a couple of power strips. It tooks us a few minutes to figure what was blocked or not on the corporate network, and almost everyone who needs connections that are usually blocked in such environments already had their
We are taking notes live on
Portability toward other systems has been improved: old versions of GNU diff are now supported (Mike McQuaid), suggestion of the appropriate locale is now the more generic
The

It's 2004 and I'm in Oldenburg DE, working on the Debian Installer. Colin and I
pair program on partman, its new partitioner, to get it into shape. We've
somewhat reluctantly decided to use it. Partman is in some ways a beautful
piece of work, a mass of semi-object-oriented, super extensible shell code that
sprang fully formed from the brow of Anton. And in many ways, it's mad, full of
sector alignment twiddling math implemented in tens of thousands of lines of
shell script scattered amoung hundreds of tiny files that are impossible to keep
straight. In the tiny Oldenburg Developers Meeting, full of obscure hardware
and crazy intensity of ideas like porting Debian to VAXen, we hack late into
the night, night after night, and crash on the floor.



