Lunar: Reproducible builds: week 39 in Stretch cycle
What happened in the reproducible
builds effort between January 17th and January 23rd:
Toolchain fixes
James McCoy uploaded subversion/1.9.3-2 which removes -Wdate-time from CPPFLAGS passed to swig enabling several packages to build again.
The switch made in binutils/2.25-6 to use deterministic archives by default had the unfortunate effect of breaking a seldom used feature of make. Manoj Srivastava asked on debian-devel the best way to communicate the changes to Debian users. Lunar quickly came up with a patch that displays a warning when Make encounters deterministic archives. Manoj made it available in make/4.1-2 together with a NEWS file advertising the change.
Following Guillem Jover's comment on the latest patch to make mtimes of packaged files deterministic, Daniel Kahn Gillmor updated and extended the patch adding the --clamp-mtime option to GNU Tar.
Mattia Rizzolo updated texlive-bin in the reproducible experimental repository.
Packages fixed
The following packages became reproducible after getting fixed:
- apt-cacher-ng/0.8.9-1 by Eduard Bloch.
- beep/1.3-4 by Rhonda D'Vine, obsolete patch by Chris Lamb.
- clblas/2.10-1~exp1 by Ghislain Antony Vaillant.
- cortado/0.6.0-3 uploaded by Markus Koschany, original patch by Dhole.
- magic/8.0.210-2 uploaded by Roland Stigge, original patch by Chris Lamb.
- mailagent/1:3.1-81-4 by Manoj Srivastava.
- maven-shade-plugin/2.4.3-1 by Emmanuel Bourg.
- nekohtml/1.9.22-1 by Emmanuel Bourg.
- pd-iemguts/0.2-1 by IOhannes m zm lnig.
- pd-mediasettings/0.1.1-1 by IOhannes m zm lnig.
- polymake/3.0-1 uploaded by David Bremner, fixed upstream, original patch by Chris Lamb.
- wyrd/1.4.6-4 by Rhonda D'Vine.
Some uploads fixed some reproducibility issues, but not all of them:
- desktop-profiles/1.4.21 uploaded by Petter Reinholdtsen, original patch by Chris Lamb.
- gradle/2.10-1 by Kai-Chung Yan.
Patches submitted which have not made their way to the archive yet:
- #811285 on strace by Reiner Herrmann: sort symbol list using the
C locale.
- #812428 on libgcrypt20 by Lunar: add support for
SOURCE_DATE_EPOCH.
reproducible.debian.net
Transition from reproducible.debian.net to the more general tests.reproducible-builds.org has started. More visual changes are coming. (h01ger)
A plan on how to run tests for F-Droid has been worked out. (hc, mvdan, h01ger) A first step has been made by adding a Jenkins job to setup an F-Droid build environment. (h01ger)
diffoscope development
diffoscope 46 has been released on January 19th, followed-up by
version 47 made available on January
23rd. Try it online at try.diffoscope.org!
The biggest visible change is the improvement to ELF file handling.
Comparisons are now done section by section, using the most appropriate
tool and options to get meaningful results, thanks to Dhole's work and Mike
Hommey's suggestions. Also suggested by Mike, symbols for IP-relative ops
are now filtered out to remove clutter.
Understanding differences in ELF files belonging to Debian packages should also be
much easier as diffoscope will now try to extract debug information from the
matching dbgsym package. This means objdump disassembler should output line
numbers for packages built with recent
debhelper as long as the associated
debug package is in the same directory.
As diff tends to consume huge amount of memory on large inputs, diffoscope
has a limit in place to prevent crashes. diffoscope used to display a difference
every time the limit was hit. Because this was confusing in case there were
actually no differences, a hash is now internally computed to only report
a difference when one exists.
Files in archives and other container members are now compared in the original
order. This should not matter in most case but overall give more predictable
results.
Debian .buildinfo
files are
now supported.
Amongst other minor fixes and improvements, diffoscope will now properly compare
symlinks in directories. Thanks Tuomas Tynkkynen for reporting the problem.
Package reviews
70 reviews have been removed, 125 added and 33 updated in the previous week, gcc-5 amongst others.
25 FTBFS issues have been filled by Chris Lamb, Daniel Stender, Martin Michlmayr.
Misc.
The 16th FOSDEM will happen in Brussels, Belgium on January 30-31st. Several talks will be about reproducible builds: h01ger about the general ecosystem, Fabian Keil about the security oriented ElectroBSD, Baptiste Daroussin about FreeBSD packages, Ludovic Court s about Guix.
- apt-cacher-ng/0.8.9-1 by Eduard Bloch.
- beep/1.3-4 by Rhonda D'Vine, obsolete patch by Chris Lamb.
- clblas/2.10-1~exp1 by Ghislain Antony Vaillant.
- cortado/0.6.0-3 uploaded by Markus Koschany, original patch by Dhole.
- magic/8.0.210-2 uploaded by Roland Stigge, original patch by Chris Lamb.
- mailagent/1:3.1-81-4 by Manoj Srivastava.
- maven-shade-plugin/2.4.3-1 by Emmanuel Bourg.
- nekohtml/1.9.22-1 by Emmanuel Bourg.
- pd-iemguts/0.2-1 by IOhannes m zm lnig.
- pd-mediasettings/0.1.1-1 by IOhannes m zm lnig.
- polymake/3.0-1 uploaded by David Bremner, fixed upstream, original patch by Chris Lamb.
- wyrd/1.4.6-4 by Rhonda D'Vine.
- desktop-profiles/1.4.21 uploaded by Petter Reinholdtsen, original patch by Chris Lamb.
- gradle/2.10-1 by Kai-Chung Yan.
- #811285 on strace by Reiner Herrmann: sort symbol list using the
Clocale. - #812428 on libgcrypt20 by Lunar: add support for
SOURCE_DATE_EPOCH.
reproducible.debian.net
Transition from reproducible.debian.net to the more general tests.reproducible-builds.org has started. More visual changes are coming. (h01ger)
A plan on how to run tests for F-Droid has been worked out. (hc, mvdan, h01ger) A first step has been made by adding a Jenkins job to setup an F-Droid build environment. (h01ger)
diffoscope development
diffoscope 46 has been released on January 19th, followed-up by
version 47 made available on January
23rd. Try it online at try.diffoscope.org!
The biggest visible change is the improvement to ELF file handling.
Comparisons are now done section by section, using the most appropriate
tool and options to get meaningful results, thanks to Dhole's work and Mike
Hommey's suggestions. Also suggested by Mike, symbols for IP-relative ops
are now filtered out to remove clutter.
Understanding differences in ELF files belonging to Debian packages should also be
much easier as diffoscope will now try to extract debug information from the
matching dbgsym package. This means objdump disassembler should output line
numbers for packages built with recent
debhelper as long as the associated
debug package is in the same directory.
As diff tends to consume huge amount of memory on large inputs, diffoscope
has a limit in place to prevent crashes. diffoscope used to display a difference
every time the limit was hit. Because this was confusing in case there were
actually no differences, a hash is now internally computed to only report
a difference when one exists.
Files in archives and other container members are now compared in the original
order. This should not matter in most case but overall give more predictable
results.
Debian .buildinfo
files are
now supported.
Amongst other minor fixes and improvements, diffoscope will now properly compare
symlinks in directories. Thanks Tuomas Tynkkynen for reporting the problem.
Package reviews
70 reviews have been removed, 125 added and 33 updated in the previous week, gcc-5 amongst others.
25 FTBFS issues have been filled by Chris Lamb, Daniel Stender, Martin Michlmayr.
Misc.
The 16th FOSDEM will happen in Brussels, Belgium on January 30-31st. Several talks will be about reproducible builds: h01ger about the general ecosystem, Fabian Keil about the security oriented ElectroBSD, Baptiste Daroussin about FreeBSD packages, Ludovic Court s about Guix.
dbgsym package. This means objdump disassembler should output line
numbers for packages built with recent
debhelper as long as the associated
debug package is in the same directory.
As diff tends to consume huge amount of memory on large inputs, diffoscope
has a limit in place to prevent crashes. diffoscope used to display a difference
every time the limit was hit. Because this was confusing in case there were
actually no differences, a hash is now internally computed to only report
a difference when one exists.
Files in archives and other container members are now compared in the original
order. This should not matter in most case but overall give more predictable
results.
Debian .buildinfo
files are
now supported.
Amongst other minor fixes and improvements, diffoscope will now properly compare
symlinks in directories. Thanks Tuomas Tynkkynen for reporting the problem.
While I'm not convinced that encrypting everything by default is
necessarily a good idea, it is certainly true that encryption has its
uses. Unfortunately, for the longest time getting an SSL certificate
from a CA was quite a hassle -- and then I'm not even mentioning the
fact that it would cost money, too. In that light, the letsencrypt
project is a useful alternative: rather than having to dabble with
emails or webforms, letsencrypt does everything by way of a few scripts.
Also, the letsencrypt CA is free to use, in contrast to many other
certificate authorities.
Of course, once you start scripting, it's easy to overdo it. When you go
to the letsencrypt website and try to install their stuff, they point
you to a "letsencrypt-auto" thing, which starts installing a python
The phone company logs provide a register of locations to check out
when one want to figure out what the tracked person was doing. It is
unavailable for most of us, but provided to selected government
officials, company staff, those illegally buying information from
unfaithful servants and crackers stealing the information. But the
public information can be collected and analysed, and a free software
tool to do so is called
Debian 8.3
A new minor release of
Issues with sam2p and removal
I have been maintaining the Debian package of sam2p for some time.
Unfortunately, the upstream development of that program is no longer
active, and it is using an old custom build chain that no longer works
with recent version of GCC.
This package is currently failing to build from source, and while I
have been able to patch some issues in the past, and it may still be
possible to fix it again, this is not really sustainable.
I am therefore considering to remove sam2p from Debian, unless
someone has a very good reason to keep it and is able and willing to
maintain it.Alternative
sam2p is a raster image conversion tool that can convert PNG and JPEG
to EPS and PDF while keeping their compression, which is mostly useful
to use them in documents compiled with LaTeX. Fortunately, the same can
be done with ImageMagick. If you want to convert to EPS, you have to
specify that you want EPS 2 or 3, otherwise it would produce EPS level 1
which does not provide native raster compression:

In some cases it might be a good idea to use a
When looking around to implement a nginx in front of a Docker web application, in most cases nginx itself is also a Docker container.
Siri and I are on a journey through India and Nepal,
with the aim of learning about needs of Debian derivatives,
to improve Debian and encourage closer integration.
Bye bye reproducible.debian.net
After an amazing 15 months I've just "pulled the plug" on
It's still a bit rough and not really yet where I want it to be (more on that soon), but hopefully it will be there, rather soon!
And hopefully
The
So after living here in Finland for 6 months I've now bought a flat.
We have a few days to sort out mortgage paperwork, and assuming there
are no problems we'll be moving into the new place on/around the 1st of March.
Finally I'll be living in Finland, with a sauna of my very own.
Interesting times.
In more developer-friendly news I made a
Version 6 of git-annex, released last week, adds a major new feature;
support for unlocked large files that can be edited as usual and committed
using regular git commands.
For example: