Reproducible builds folks: Reproducible builds: week 53 in Stretch cycle
What happened in the Reproducible
Builds effort between April 24th and 30th 2016.
Media coverage
Reproducible builds were mentioned explicitly in two talks at the Mini-DebConf in Vienna:
- Martin Michlmayr had a talk in which he presented an overview about innovations and changes in Debian in the last years. Martin expressed his disappointment that there was no talk from us in Vienna (we'll fix this at DebConf16 in Cape Town) and described the reproducible builds work as "a real innovation". His talk is very much worth seeing, whatever your current perspective, it might change your view on Debian.
- Ben Hutchings explains how Secure Boot will use signed kernels via separate signature packages and how this was designed with reproducible builds in mind.
__DATE__ / __TIME__) has been applied upstream and will be released with GCC 7.
Following that Matthias Klose also has uploaded gcc-5/5.3.1-17 and gcc-6/6.1.1-1 to unstable with a backport of that SOURCE_DATE_EPOCH patch.
Emmanuel Bourg uploaded maven/3.3.9-4, which uses SOURCE_DATE_EPOCH for the maven.build.timestamp.
(SOURCE_DATE_EPOCH specification)
Other upstream changes
Alexis Bienven e submitted a patch to Sphinx which extends SOURCE_DATE_EPOCH support for copyright years in generated documentation.
Packages fixed
The following 12 packages have become reproducible due to changes in their
build dependencies:
hhvm
jcsp
libfann
libflexdock-java
libjcommon-java
libswingx1-java
mobile-atlas-creator
not-yet-commons-ssl
plexus-utils
squareness
svnclientadapter
The following packages have became reproducible after being fixed:
- anope/2.0.3-2 by Dominic Hargreaves, original patch by Alexis Bienven e.
- apparmor-profiles-extra/1.7 by intrigeri, patch by Felix Geyer.
- basket/2.10~beta+git20160425.b77687f-1 by Luigi Toscano, original patch by Alexis Bienven e.
- bind-dyndb-ldap/8.0-2 by Timo Aaltonen.
- bliss/0.73-1 by Jerome Benoit.
- gap-alnuth/3.0.0-3 by Bill Allombert.
- gap-radiroot/2.7-2 by Bill Allombert.
- genometools/1.5.8+ds-3 by Sascha Steinbiss.
- gprbuild/2015-3 by Nicolas Boulenguez.
- gtkhash/0.7.0-3 by M nica Ram rez Arceda.
- josm/0.0.svn10161+dfsg-1 by Bas Couwenberg.
- libjgoodies-animation-java/1.4.3-1 by Markus Koschany.
- ltrsift/1.0.2-7 by Sascha Steinbiss.
- mutt/1.6.0-1 by Matteo F. Vescovi, original patch by Daniel Shahaf.
- netsniff-ng/0.6.1-1 by Kartik Mistry, original patch by Reiner Herrmann.
- netrw/1.3.2-3 by Giovanni Mascellani.
- openthesaurus/20160424-3 by Rene Engelhard, original patch by Dhole.
- php-pear/1:1.10.1+submodules+notgz-8 by Mathieu Parent.
- samba/2:4.4.2+dfsg-2 by Jelmer Vernoo .
- swift/2.7.0-3 by Ond ej Nov .
- tp-smapi/0.42-1 by Evgeni Golov, original patch by Chris Lamb.
- vifm/0.8.1a-0.1 by Ond ej Nov .
- xfonts-mplus/1:2.2.4-2 by Hideki Yamane, original patch by Chris Lamb.
- xpa/2.1.17-2 by Ole Streicher, original patch by Alexis Bienven e.
- camitk/4.0.0~beta-1 by Emmanuel Promayon, original patch by Maria Valentina Marin.
- elastix/4.8-8 by Gert Wollny.
- freefem++/3.46+dfsg1-1 by Dimitrios Eftaxiopoulos, original patch by Alexis Bienven e.
- grib-api/1.15.0-1 by Alastair McKinstry, original patch by Santiago Vila.
- isorelax/20041111-9 by Emmanuel Bourg.
- libical/2.0.0-0.1 by Andreas Henriksson, original patch by Chris Lamb.
- sawfish/1:1.11.90-1 by Jose M Calhariz, original patch by Alexis Bienven e.
- singular/4.0.3-p1+ds-1 by Jerome Benoit.
- syslinux/3:6.03+dfsg-12 by Mattia Rizzolo, original patch by Reiner Herrmann.
- transdecoder/2.0.1+dfsg-3 by Michael R. Crusoe, original patch by Dhole.
- #822566 against stk by Alexis Bienven e: sort lists of object files for reproducible linking order.
- #822948 against shotwell by Alexis Bienven e: normalize tarball permissions and use locale/timezone-independent modification time.
- #822963 against htop by Alexis Bienven e: use SOURCE_DATE_EPOCH for embedded copyright year, which has before already been applied in git and upstream.
- diffoscope 52~bpo8+1 has been uploaded to jessie-backports by Mattia Rizzolo, where it is currently waiting for NEW-approval.
- Support for the deb(5) format (uncompressed data.tar/control.tar, control.tar.xz) (Closes: #818414) has been completed by Reiner Herrmann in git.
- Support for EPUB documents has been added (to the development version in git) by Holger Levsen, to address the timestamps_in_epub issue.
- To monitor the uptodateness of diffoscope everywhere, tests checking this on FreeBSD, NetBSD & MacPorts were added. Tests on other distributions will be added once the relevant bugs in whohas are fixed in jessie. (h01ger)
My monthly report covers a large part of what I have been doing in the free software world. I write it for
The Debian Handbook
I worked with Ryuunosuke Ayanokouzi to prepare a paperback version of the Japanese translation of my book. Thanks to the efforts of everybody,
A new release of
What happened in the 
Yesterday, I pushed out version 2.11.18 of the Geode X.Org driver. This is the driver used by the OLPC XO-1 and by a plethora of low-power desktops, micro notebooks and thin clients. This release mostly includes maintenance fixes of all sorts. Of noticeable interest is a fix for the long-standing issue that switching between X and a VT would result in a blank screen (this should probably be cherry-picked for distributions running earlier releases of this driver). Many thanks to Connor Behan for the fix!
Debian 8.3
I recently dug through my history of involvement with TeX (Live), and found out that in January there are a lot of anniversaries I should celebrate: 14 years ago I started building binaries for
Those of you not interested in boring and melancholic look-back onto history can safely skip reading this one. For those a bit interested in the history of TeX in Debian, please read on.
Debian releases and TeX systems
The TeX system of choice has been for long years
Development over the years
TeX Live 2005 was just another TeX system but not the preferred one in Debian Etch and beyond. But then in May 2006, Thomas Esser announced the end of development of teTeX, which cleared the path for TeX Live as main TeX system in Debian (and the world!). The next release of Debian, Lenny (1/2009), already carried only TeX Live. Unfortunately it was only TeX Live 2007 and not 2008, mostly due to me having been involved in rewriting the upstream infrastructure based on Debian package files instead of the notorious xml files. This took quite a lot of attention and time from Debian away to upstream development, but this will be discussed in a different post.
Similarly, the release of TeX Live included in Debian Squeeze (released 2/2011) was only TeX Live 2009 (instead of 2010), but since then (Wheezy and Jessie) the releases of TeX Live in Debian were always the latest released ones.
Current status
Since about 2013 I am trying to keep a regular schedule of new TeX Live packages every month. These helps me to keep up with the changes in upstream packaging and reduces the load of packaging a new release of TeX Live. It also bring to users of unstable and testing a very up-to-date TeX system, where packages at most lack 1 month of behind the TeX Live net updates.
Future
As most of the readers here know, besides caring for TeX (Live) and related packages in Debian, I am also responsible for the TeX Live Manager (tlmgr) and most of upstream s infrastructure including network distribution. Thus, my (spare, outside work) time needs to be distributed between all these projects (and some others) which leaves less and less time for Debian packaging. Fortunately the packaging is in a state that making regular updates once a month is less of a burden, since most steps are automatized. What is still a bit of a struggle is adapting the binary package (
Today was a nice day with a surprising number of early Christmas presents:
The last two major autopkgtest releases (3.18 from November, and 3.19 fresh from yesterday) bring some new features that are worth spreading.
New LXD virtualization backend
3.19 debuts the new
A while back, I wrote about
If that's not dramatic enough for you (trust me, you'll notice it when
it's animated as you flicker through the two different fields), here's
an even more high-contrast example (same ordering):
I guess it's obvious in retrospect what happens; the HF filter picks up
residue from its outer edges, and even if the coefficient is just 0.031
(well, times two; it adds that value from both the previous and next field),
3% the photons of a fully lit pixel (which is what you get when working in
linear light) is actually quite a bit, whereas a 3% gray is only pixel value
8 or so, which is barely visible.
So what am I to make of this? I'm honestly not sure. Maybe it's somehow
related to that these filter values were chosen in 1988, where they were
relatively unlikely to do this in linear light (although if they did it
with analog circuitry, perhaps they could?) and it was tweaked to look good
despite doing the wrong thing. Or maybe I need to change my approach here
entirely.
It always sucks when your fundamental assumptions are challenged, but I
think it shows once again that if you notice something funny in your output,
you really ought to investigate, because you never know how deep the rabbit
hole goes. :-/