[Reproducible-builds] Bug#792673: bup: please make the build reproducible
Source: bup Version: 0.27-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that bup could not be built reproducibly. The attached patch removes timestamps from the build system. Once applied, bup can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- diff --no-dereference -urNad bup.orig/bup-0.27/debian/gen_version_py.sh bup/bup-0.27/debian/gen_version_py.sh --- bup.orig/bup-0.27/debian/gen_version_py.sh 2015-07-17 12:40:22.278600508 +0100 +++ bup/bup-0.27/debian/gen_version_py.sh 2015-07-17 12:44:05.764799639 +0100 @@ -1,7 +1,7 @@ #!/bin/sh VERSION=$(dpkg-parsechangelog | grep-dctrl -ensVersion -FSource .) -DATE=$(date '+%Y-%m-%d %H:%M:%S %z') +DATE=$(date --utc --date=`dpkg-parsechangelog -SDate` '+%Y-%m-%d %H:%M:%S %z') echo echo COMMIT='' ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792687: gettext: please support timestamps from environment
Source: gettext Version: 0.19.4-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that the xgettext tool from gettext embeds timestamps on the creation of PO files. For the Reproducible Builds effort we are proposing an environment variable (SOURCE_DATE_EPOCH) [2] that will contain a deterministic epoch timestamp (based on the latest debian/changelog entry) that could be used, which should be automatically exported by debhelper in the future [3]. The attached patch proposes a way to use this variable to get reproducible timestamps in the PO files generated by xgettext, if the variable has been set (if not, it falls back to the old behavior). With the attached patch packages using xgettext would then automatically generate reproducible translation files. [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal [3]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791815 Regards, -- Dhole diff -Nru gettext-0.19.4/debian/changelog gettext-0.19.4/debian/changelog --- gettext-0.19.4/debian/changelog 2015-05-15 18:01:14.0 +0200 +++ gettext-0.19.4/debian/changelog 2015-07-17 15:47:54.0 +0200 @@ -1,3 +1,11 @@ +gettext (0.19.4-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Add support for reproducible builds by using $SOURCE_DATE_EPOCH as the +date on creation of PO files with xgettext. + + -- Dhole dh...@openmailbox.org Fri, 17 Jul 2015 15:47:41 +0200 + gettext (0.19.4-1) unstable; urgency=low * New upstream release. diff -Nru gettext-0.19.4/debian/patches/03-Replace-timestamp-with-SOURCE_DATE_EPOCH gettext-0.19.4/debian/patches/03-Replace-timestamp-with-SOURCE_DATE_EPOCH --- gettext-0.19.4/debian/patches/03-Replace-timestamp-with-SOURCE_DATE_EPOCH 1970-01-01 01:00:00.0 +0100 +++ gettext-0.19.4/debian/patches/03-Replace-timestamp-with-SOURCE_DATE_EPOCH 2015-07-17 15:56:22.0 +0200 @@ -0,0 +1,47 @@ +Description: Replace date timestamp by SOURCE_DATE_EPOCH env var in xgettext + . + gettext (0.19.4-1.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Add support for reproducible builds by using $SOURCE_DATE_EPOCH as the + date on creation of PO files with xgettext. +Author: Dhole dh...@openmailbox.org + +--- + +--- gettext-0.19.4.orig/gettext-tools/src/xgettext.c gettext-0.19.4/gettext-tools/src/xgettext.c +@@ -3410,6 +3410,7 @@ construct_header () + message_ty *mp; + char *msgstr; + char *comment; ++ char *source_date_epoch; + static lex_pos_ty pos = { __FILE__, __LINE__ }; + + if (package_name != NULL) +@@ -3431,7 +3432,24 @@ the MSGID_BUGS_ADDRESS variable there; o + specify an --msgid-bugs-address command line option.\n\ + ))); + +- time (now); ++ /* Allow the date and time to be set externally by an exported ++ environment variable to enable reproducible builds. */ ++ source_date_epoch = getenv (SOURCE_DATE_EPOCH); ++ if (source_date_epoch) ++{ ++ errno = 0; ++ now = (time_t) strtol (source_date_epoch, NULL, 10); ++ if (errno != 0) ++error (EXIT_FAILURE, errno, _(\ ++SOURCE_DATE_EPOCH=\%s\ is not a valid number), source_date_epoch); ++ ++ /* The function po_strftime uses localtime() to parse the timestamp, so ++ we need to fix the environment timezone to get reproducible results */ ++ setenv(TZ, UTC, 1); ++} ++ else ++time (now); ++ + timestring = po_strftime (now); + + msgstr = xasprintf (\ diff -Nru gettext-0.19.4/debian/patches/series gettext-0.19.4/debian/patches/series --- gettext-0.19.4/debian/patches/series2015-05-15 17:19:58.0 +0200 +++ gettext-0.19.4/debian/patches/series2015-07-17 15:55:50.0 +0200 @@ -1,2 +1,3 @@ 01-do-not-use-java-in-urlget 02-msgfmt-default-little-endian +03-Replace-timestamp-with-SOURCE_DATE_EPOCH signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791574: strip-nondeterminism: failure in zip.pm, breaking package builds
Hi, I tried to reproduce this problem but was unable to reproduce it in a pbuilder environment. Are any specific build options needed to reproduce this (since in my build log dh_strip_nondeterminism -O--parallel is not even called: ... dh_link -O--parallel debian/rules override_dh_compress ... Kind regards Andreas. -- http://fam-tille.de ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792684: cain: please make the build reproducible
Source: cain Version: 1.9-8 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: umask X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that cain could not be built reproducibly. The attached patch removes varying umasks from the build system. We have to do it manually due to limitations in zip. Once applied, cain can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- diff --git a/debian/rules b/debian/rules index 4205821..f502487 100755 --- a/debian/rules +++ b/debian/rules @@ -35,6 +35,8 @@ get-orig-source: find $(SRC_TMP) -name __MACOSX -type d | xargs -r rm -rf find $(SRC_TMP) -iname .DS_Store -exec rm -f {} + find $(SRC_TMP) -iname .scons* -exec rm -f {} + + find $(SRC_TMP) -type f -exec chmod 644 + + find $(SRC_TMP) -type d -exec chmod 755 + rm -f $(SRC_TMP)/cain-$(VERSION)/solvers/* rm -rf $(SRC_TMP)/cain-$(VERSION)/src/third-party/* cd $(SRC_TMP) tar cvzf ../../cain_$(VERSION).orig.tar.gz cain-$(VERSION) ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791574: Bug#791574: strip-nondeterminism: failure in zip.pm, breaking package builds
On Fri, Jul 17, 2015 at 03:52:15PM +0200, Andreas Tille wrote: I tried to reproduce this problem but was unable to reproduce it in a pbuilder environment. Are any specific build options needed to reproduce this (since in my build log dh_strip_nondeterminism -O--parallel is not even called: ... dh_link -O--parallel debian/rules override_dh_compress ... Well, currently it's called by our modified debhelper. The bug to get it mainlined is #759895. Either you install our patched debhelper or you modify the package to call it. dh patch: https://anonscm.debian.org/cgit/reproducible/debhelper.git/commit/?id=cb27ff633c19deb7e027045e219771668e598fb0 -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: http://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `- signature.asc Description: Digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792667: jack-audio-connection-kit: please make the build reproducible
Source: jack-audio-connection-kit Version: 1:0.124.1+20140122git5013bed0-3 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that jack-audio-connection-kit could not be built reproducibly. The attached patch removes locale and timezone- specific timestamps from the build system. Once applied, jack-audio-connection-kit can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- diff --git a/man/Makefile.am b/man/Makefile.am index ca68b74..3afe34a 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,5 +1,5 @@ .0.1: - @sed -e s/!VERSION!/@JACK_RELEASE@/g -e s/!DATE!/`date '+%B %Y'`/g $*.0 $@ + @sed -e s/!VERSION!/@JACK_RELEASE@/g -e s/!DATE!/`LANG=C date --utc --date=`dpkg-parsechangelog -l../debian/changelog -SDate` '+%B %Y'`/g $*.0 $@ @echo Built $*.1 from template manpages = $(patsubst %.0,%.1,$(wildcard *.0)) ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792671: apertium-dbus: please make the build reproducible
Source: apertium-dbus Version: 0.1-1.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: randomness X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that apertium-dbus could not be built reproducibly. The attached patch removes the generated .pyc and .pyo from the binary debs. These should not be installed anyway as they are interpreter specific (etc. etc.), so this is a benefit outside of reproducibility. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- diff --no-dereference -urNad apertium-dbus.orig/apertium-dbus-0.1/debian/rules apertium-dbus/apertium-dbus-0.1/debian/rules --- apertium-dbus.orig/apertium-dbus-0.1/debian/rules 2015-07-17 11:29:40.246426780 +0100 +++ apertium-dbus/apertium-dbus-0.1/debian/rules2015-07-17 11:56:23.292088379 +0100 @@ -6,3 +6,5 @@ # Add here any variable or target overrides you need. # +install/apertium-dbus:: + find debian/apertium-dbus -name '*.py[co]' -delete ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792709: dict-jargon: please support timestamps from environment
Source: dict-jargon Version: 4.4.7-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that dict-jargon could not be built reproducibly. The attached patch removes timestamps from the build system. Once applied, dict-jargon can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -u dict-jargon-4.4.7/debian/jargon2dict.sh dict-jargon-4.4.7/debian/jargon2dict.sh --- dict-jargon-4.4.7/debian/jargon2dict.sh +++ dict-jargon-4.4.7/debian/jargon2dict.sh @@ -77,7 +77,8 @@ echo [+] formatting dictionary database - dictfmt -j -s The Jargon File (version 4.4.7, 29 Dec 2003) \ + dictfmt -j -s The Jargon File (version 4.4.7, 29 Dec 2003) --without-time \ -u http://catb.org/~esr/jargon/jargsrc.tar.gz; \ --utf8 --allchars --columns 79 'jargon' 'extracted' echo [+] compressing dictionary + touch --date=$BUILD_DATE jargon.dict dictzip 'jargon.dict' diff -u dict-jargon-4.4.7/debian/rules dict-jargon-4.4.7/debian/rules --- dict-jargon-4.4.7/debian/rules +++ dict-jargon-4.4.7/debian/rules @@ -1,5 +1,7 @@ #!/usr/bin/make -f +BUILD_DATE := $(shell dpkg-parsechangelog --show-field Date) +export BUILD_DATE DICTDIR=$(CURDIR)/debian/dict-jargon/usr/share/dictd include /usr/share/quilt/quilt.make diff -u dict-jargon-4.4.7/debian/changelog dict-jargon-4.4.7/debian/changelog --- dict-jargon-4.4.7/debian/changelog +++ dict-jargon-4.4.7/debian/changelog @@ -1,3 +1,12 @@ +dict-jargon (4.4.7-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace timestamps with the last debian/changelog entry timestamp +before calling dictzip and remove timestamps in call to dictfmt to +make the package build reproducibly. + + -- Dhole dh...@openmailbox.org Fri, 17 Jul 2015 17:56:55 +0200 + dict-jargon (4.4.7-2) unstable; urgency=low * Add dict-server to Depends (Closes: #533717) signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Processed: Fixed, pending upload
Processing commands for cont...@bugs.debian.org: tags 791574 + fixed-upstream Bug #791574 [strip-nondeterminism] strip-nondeterminism: failure in zip.pm, breaking package builds Added tag(s) fixed-upstream. tags 791574 + pending Bug #791574 [strip-nondeterminism] strip-nondeterminism: failure in zip.pm, breaking package builds Added tag(s) pending. thanks Stopping processing here. Please contact me if you need assistance. -- 791574: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791574 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791574: Fixed, pending upload
tags 791574 + fixed-upstream tags 791574 + pending thanks This was caused by a zip64 archive in the golang test suite. Archive::Zip, and hence strip-nondeterminism, doesn't support zip64 archives. Fortunately, zip64 archives are rare and the one in the golang source doesn't contain any nondeterminism, so I've modified strip-nondeterminism to just ignore zip64 archives. -- Andrew ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791574: Bug#791574: strip-nondeterminism: failure in zip.pm, breaking package builds
severity 791574 important thanks On Fri, 17 Jul 2015 20:08:13 +0200 Andreas Tille andr...@an3as.eu wrote: Ahhh, that's interesting. My situation is that I just wanted to find out why some of our team packages are about to be removed. I do not expect myself to be very helpful in fixing the problem. The only thing I would like to know is why this bug is qualified as serious if there is no build error when using the available tools but fails only with a patched tool. IMHO this does qualify as important as maximum. Please do not understand me wrong: Any bug should be fixed but I see no point in kicking a chain of packages out uf testing only because a package using a patched debhelper fails to build. Hi Andreas, I agree the severity was set too high considering it only affected builds with a patched debhelper. I had no idea strip-nondeterminism had accumulated so many reverse dependencies, or I would have been more proactive about making sure packages outside of the reproducible builds effort weren't bothered with an auto-removal notice. I just decreased the severity, and a fixed package will be uploaded to unstable soon anyways, so you don't have to worry about your packages being kicked out. Cheers, Andrew ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Processed: Re: Bug#791574: Bug#791574: strip-nondeterminism: failure in zip.pm, breaking package builds
Processing commands for cont...@bugs.debian.org: severity 791574 important Bug #791574 [strip-nondeterminism] strip-nondeterminism: failure in zip.pm, breaking package builds Severity set to 'important' from 'serious' thanks Stopping processing here. Please contact me if you need assistance. -- 791574: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791574 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791574: Bug#791574: Bug#791574: strip-nondeterminism: failure in zip.pm, breaking package builds
On Fri, 17 Jul 2015 19:53:27 + Mattia Rizzolo mat...@mapreri.org wrote: i was aware some packages started build-depending on it, but nothing like this. Also, broken (and also missing, fwiw) build-dep does not causes removal from testing [1], so that's sound weird+wrong. Can you tell me of such package so i can get a look at what's going on more closely? Hi Mattia, According to https://packages.qa.debian.org/s/strip-nondeterminism.html: The removal of strip-nondeterminism will also cause the removal of (transitive) reverse dependencies: astroquery cpl-plugin-amber cpl-plugin-fors cpl-plugin-giraf cpl-plugin-hawki cpl-plugin-kmos cpl-plugin-muse cpl-plugin-sinfo cpl-plugin-uves cpl-plugin-vimos cpl-plugin-visir cpl-plugin-xshoo debram pyavm pyfits pyscanfcs python-astropy python-cpl python-pywcs veusz Cheers, Andrew ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#791574: strip-nondeterminism: failure in zip.pm, breaking package builds
[o.o the subject somehow went huge! ] On Fri, Jul 17, 2015 at 01:14:41PM -0700, Andrew Ayer wrote: On Fri, 17 Jul 2015 19:53:27 + Mattia Rizzolo mat...@mapreri.org wrote: i was aware some packages started build-depending on it, but nothing like this. Also, broken (and also missing, fwiw) build-dep does not causes removal from testing [1], so that's sound weird+wrong. Can you tell me of such package so i can get a look at what's going on more closely? Hi Mattia, According to https://packages.qa.debian.org/s/strip-nondeterminism.html: The removal of strip-nondeterminism will also cause the removal of (transitive) reverse dependencies: astroquery cpl-plugin-amber cpl-plugin-fors cpl-plugin-giraf cpl-plugin-hawki cpl-plugin-kmos cpl-plugin-muse cpl-plugin-sinfo cpl-plugin-uves cpl-plugin-vimos cpl-plugin-visir cpl-plugin-xshoo debram pyavm pyfits pyscanfcs python-astropy python-cpl python-pywcs veusz Thanks. I'm a tracker.d.o user and that does not provide such info (= #792738) Anyway, i asked for a bit of help to the RT [0] and discovered some things, like that autoremovals calculations is done by UDD and not anything run by them and that it does consider also build-dependencies. Looks like python-astropy build-dep on strip-nondetermism, and that (sadly) you (= astro team) did [1]. Personally I find shameful that a maintainer need such hack for a fail on our parts, please DO poke use more hardly the next time. strip-nondetermism is already fixed in git, soon will be uploaded too, so i think you can drop that workaround. And please accept my forgivness for this. [0] that means nthykier and adsb, thank you! [1] http://anonscm.debian.org/cgit/debian-astro/packages/python-astropy.git/commit/?id=0c73b4e109897ed5bf885815304c0a96342e59ff -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: http://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `- signature.asc Description: Digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds