Bug#776576: polygen: please make the build reproducible
Source: polygen
Version: 1.0.6.ds2-13
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 polygen could not be built reproducibly.
The attached patch removes randomness from the build system. Once
applied, polygen can be built reproducibly in our current experimental
framework.
(The manpages, etc. are still random, but seeded from the latest
debian/changelog entry.)
[1]: https://wiki.debian.org/ReproducibleBuilds
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
diff -urNad polygen.orig/polygen-1.0.6.ds2/debian/rules polygen/polygen-1.0.6.ds2/debian/rules
--- polygen.orig/polygen-1.0.6.ds2/debian/rules 2015-01-29 12:23:55.134601132 +0000
+++ polygen/polygen-1.0.6.ds2/debian/rules 2015-01-29 13:22:28.293057129 +0000
@@ -6,7 +6,9 @@
POLYGEN_BASE=.
DEB_BUILDDIR=$(POLYGEN_BASE)/src
-POLYGEN=$(DEB_BUILDDIR)/polygen
+POLYGEN_BIN=$(DEB_BUILDDIR)/polygen
+POLYGEN_SEED = $(shell date --date="$(shell dpkg-parsechangelog --show-field Date)" +%s)
+POLYGEN=$(POLYGEN_BIN) -seed $(POLYGEN_SEED)
export POLYGEN
# set $(NATIVE) to true if this arch has an optimising compiler
@@ -44,7 +46,7 @@
find $(POLYGEN_BASE)/grm/ -name \*.grm | debian/make_polygen-data_manpage > polygen-data.6
install/polygen::
- install -o root -g root -m 755 $(POLYGEN) debian/$(cdbs_curpkg)/usr/games/
+ install -o root -g root -m 755 $(POLYGEN_BIN) debian/$(cdbs_curpkg)/usr/games/
install -o root -g root -m 755 -d debian/$(cdbs_curpkg)/usr/share/doc/polygen
install -o root -g root -m 644 $(POLYGEN_BASE)/eng/HOWTO-Refman.html debian/$(cdbs_curpkg)/usr/share/doc/polygen/HOWTO-Refman.en.html
install -o root -g root -m 644 $(POLYGEN_BASE)/ita/HOWTO-Refman.html debian/$(cdbs_curpkg)/usr/share/doc/polygen/HOWTO-Refman.it.html
Reply to: