
What happened about the
reproducible
builds effort this week:
Media coverage
Daniel Stender
published an English translation of the article which originally
appeared in Linux Magazin in Admin Magazine.
Toolchain fixes
Fixes landed in the Debian archive:
Lunar
submitted to Debian the patch already sent upstream adding a
--clamp-mtime
option to
tar.
Patches have been submitted to add support for
SOURCE_DATE_EPOCH to
txt2man (Reiner Herrmann),
epydoc (Reiner Herrmann),
GCC (Dhole), and
Doxygen (akira).
Dhole uploaded a new experimental
debhelper to the
reproducible repository which
exports SOURCE_DATE_EPOCH. As part of the experiment, the patch also sets
TZ
to
UTC
which should help with most timezone issues. It might still be problematic for some packages which would
change their settings based on this.
Mattia Rizzolo
sent upstream a patch originally written by Lunar to make the
generate-id()
function be deterministic in
libxslt. While that patch was quickly rejected by upstream, Andrew Ayer came up with a much better one which sadly could have some performance impact. Daniel Veillard replied with another patch that should be deterministic in most cases without needing extra data structures. It's impact is currently being investigated by retesting packages on
reproducible.debian.net
.
akira
added a new option to
sbuild for configuring the path in which packages are built. This will be needed for the
srebuild script.
Niko Tyni
asked Perl upstream about it using the
__DATE__
and
__TIME__
C processor macros.
Packages fixed
The following 143 packages became reproducible due to changes in their
build dependencies:
alot,
argvalidate,
astroquery,
blender,
bpython,
brian,
calibre,
cfourcc,
chaussette,
checkbox-ng,
cloc,
configshell,
daisy-player,
dipy,
dnsruby,
dput-ng,
dsc-statistics,
eliom,
emacspeak,
freeipmi,
geant321,
gpick,
grapefruit,
heat-cfntools,
imagetooth,
jansson,
jmapviewer,
lava-tool,
libhtml-lint-perl,
libtime-y2038-perl,
lift,
lua-ldoc,
luarocks,
mailman-api,
matroxset,
maven-hpi-plugin,
mknbi,
mpi4py,
mpmath,
msnlib,
munkres,
musicbrainzngs,
nova,
pecomato,
pgrouting,
pngcheck,
powerline,
profitbricks-client,
pyepr,
pylibssh2,
pylogsparser,
pystemmer,
pytest,
python-amqp,
python-apt,
python-carrot,
python-crypto,
python-darts.lib.utils.lru,
python-demgengeo,
python-graph,
python-mock,
python-musicbrainz2,
python-pathtools,
python-pskc,
python-psutil,
python-pypump,
python-repoze.sphinx.autointerface,
python-repoze.tm2,
python-repoze.what-plugins,
python-repoze.what,
python-repoze.who-plugins,
python-xstatic-term.js,
reclass,
resource-agents,
rgain,
rttool,
ruby-aggregate,
ruby-archive-tar-minitar,
ruby-bcat,
ruby-blankslate,
ruby-coffee-script,
ruby-colored,
ruby-dbd-mysql,
ruby-dbd-odbc,
ruby-dbd-pg,
ruby-dbd-sqlite3,
ruby-dbi,
ruby-dirty-memoize,
ruby-encryptor,
ruby-erubis,
ruby-fast-xs,
ruby-fusefs,
ruby-gd,
ruby-git,
ruby-globalhotkeys,
ruby-god,
ruby-hike,
ruby-hmac,
ruby-integration,
ruby-ipaddress,
ruby-jnunemaker-matchy,
ruby-memoize,
ruby-merb-core,
ruby-merb-haml,
ruby-merb-helpers,
ruby-metaid,
ruby-mina,
ruby-net-irc,
ruby-net-netrc,
ruby-odbc,
ruby-packet,
ruby-parseconfig,
ruby-platform,
ruby-plist,
ruby-popen4,
ruby-rchardet,
ruby-romkan,
ruby-rubyforge,
ruby-rubytorrent,
ruby-samuel,
ruby-shoulda-matchers,
ruby-sourcify,
ruby-test-spec,
ruby-validatable,
ruby-wirble,
ruby-xml-simple,
ruby-zoom,
ryu,
simplejson,
spamassassin-heatu,
speaklater,
stompserver,
syncevolution,
syncmaildir,
thin,
ticgit,
tox,
transmissionrpc,
vdr-plugin-xine,
waitress,
whereami,
xlsx2csv,
zathura.
The following packages became reproducible after getting fixed:
- ansible/1.9.2+dfsg-1 by Harlan Lieberman-Berg.
- antpm/1.16-9 uploaded by Kristof Ralovich, original patch by Dhole.
- ccseapps/2.5-6 by Alastair McKinstry.
- clblas/2.4-2 uploaded by Ghislain Antony Vaillant, original patch by akira.
- dictionaries-common/1.26.1 by Agustin Martin Domingo.
- djvulibre/3.5.27.1-2 uploaded by Barak A. Pearlmutter, original patch by Dhole.
- exim4/4.86~RC4-1 by Andreas Metzler.
- geis/2.2.17-1 uploaded by Stephen M. Webb, original patch by akira.
- guymager/0.7.4-2 uploaded by Michael Prokop, original patch by Reiner Herrman.
- irrlicht/1.8.1+dfsg1-2 uploaded by Vincent Cheng, original patch by akira.
- ismrmrd/1.2.3-2 by Ghislain Antony Vaillant.
- ispell-et/1:20030606-24 by Agustin Martin Domingo.
- jacktrip/1.1~repack-1 uploaded by IOhannes m zm lnig, original patch by akira.
- ksshaskpass/4:5.3.1-1 by Maximiliano Curia, report by Daniel Kahn Gillmor.
- libencode-jis2k-perl/0.03-1 by gregor herrmann.
- libosmium/2.1.0-4 by Bas Couwenberg.
- libzorpll/3.9.4.1-2 by SZALAY Attila.
- linop/0.8.2-3 uploaded by Ghislain Antony Vaillant, original patch by Juan Picca.
- lmdb/0.9.15-1 uploaded by Ond ej Sur , original patch by akira.
- manuel/1.8.0-3 by Daniel Stender.
- nss-wrapper/1.0.3-3 by Jakub Wilk.
- orthanc/0.9.0+dfsg-1 prepared by Sebastien Jodogne, issues fixed in upstream version.
- osmcoastline/2.0.1-2 by Bas Couwenberg.
- osmium-tool/1.0.1-2 uploaded by Bas Couwenberg, original patch by Chris Lamb.
- pelican/3.6.0-4 uploaded by Vincent Cheng, original patch by Chris Lamb.
- py-lmdb/0.86-1 uploaded by Robert Edmonds, original patch by Chris Lamb.
- python-pysqlite2/2.6.3-4 uploaded by Joel Rosdahl, original patch by Juan Picca.
- stx-btree/0.9-2 uploaded by Yury Stankevich, original patch by akira.
- wxwidgets3.0/3.0.2+dfsg-1 by Olly Betts.
- y-u-no-validate/2013052401-4 by Jakub Wilk.
- yudit/2.9.6-4 uploaded by Hideki Yamane, original patch by Chris Lamb.
Some uploads fixed some reproducibility issues but not all of them:
- cdo/1.6.6+dfsg.1-1 uploaded by Alastair McKinstry.
- dsdo/1.6.36-6 by Agustin Martin Domingo.
- liboro-java/2.0.8a-11 by Emmanuel Bourg.
- simgrid/3.11.1-10 uploaded by Martin Quinson, original patch by akira.
Patches submitted which have not made their way to the archive yet:
reproducible.debian.net
A new
package set for the X Strike Force has been added. (h01ger)
Bugs tagged with locale are now visible in the
statistics. (h01ger)
Some work has been done add
tests for NetBSD. (h01ger)
Many changes by Mattia Rizzolo have been merged on the whole infrastructure:
- IRC notifications when known reproducible packages stops buildig successfully.
- Packages marked ftbfs_due_to_obsolete_dependencies now appears as FTBFS on the package tracker.
- When listing packages affected by an issue, packages without bugs are grouped together, making it easier to spot the ones who requires work.
- Both build logs are now saved separately. A diff between the two files is available.
- The text output of debbindiff is now available as well for easier search and reports.
- Build logs and debbindiff output are now stored compressed with gzip.
- The builder used for a given test is now recorded in the database.
- The manual scheduler available from Alioth gained new options:
-i/--issues
: schedule all packages affected by the given issue.
-r/--status
: schedule all packages with the given status.
-b/--before
: schedule all packages built before the given date
-t/--after
: schedule all packages built after the given date.
--noisy
: notify the IRC channel also when the build starts, with a URL to watch it in real time.
debbindiff development
Version 26 has been released on June 28th fixing the comparison of files of unknown format. (Lunar)
A
missing dependency identified in
python-rpm affecting debbindiff installation without recommended packages was promptly fixed by Michal iha .
Lunar also started a massive code rearchitecture to enhance code reuse and enable new features. Nothing visible yet, though.
Documentation update
josch and Mattia Rizzolo documented
how to reschedule packages from Alioth.
Package reviews
142 obsolete
reviews have
been removed, 344 added and 107 updated this week.
Chris West (Faux) filled 13 new bugs for packages failing to build from sources.
The following new issues have been added:
snapshot_placeholder_replaced_with_timestamp_in_pom_properties,
different_encoding,
timestamps_in_documentation_generated_by_org_mode and
timestamps_in_pdf_generated_by_matplotlib.