Source: cappuccino Version: 0.5.1-2.2 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org
Hi, Whilst working on the "reproducible builds" effort [0], we noticed that cappuccino could not be built reproducibly. The attached patch removes randomess from the build system -- not caused by any *output* from polygen as you might immediately suspect -- but rather by caused by a non-deterministic seed being stored in the OCaml Marshal'd .grm.o. Setting a deterministic seed does not affect run-time randomness. Once applied, cappuccino can be built reproducibly using our reproducible toolchain. [0] https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/rules 2015-09-17 23:13:33.359569931 +0100 --- b/debian/rules 2015-09-17 23:14:29.287965690 +0100 @@ -40,8 +40,8 @@ #$(MAKE) install prefix=$(CURDIR)/debian/cappuccino/usr #$(MAKE) install DESTDIR=$(CURDIR)/debian/cappuccino python setup.py install --prefix=$(CURDIR)/debian/cappuccino/usr --install-layout=deb - polygen $(CURDIR)/debian/cappuccino/usr/share/cappuccino/cappuccino.grm > /dev/null - polygen $(CURDIR)/debian/cappuccino/usr/share/cappuccino/compileline.grm > /dev/null + polygen -seed 0 $(CURDIR)/debian/cappuccino/usr/share/cappuccino/cappuccino.grm > /dev/null + polygen -seed 0 $(CURDIR)/debian/cappuccino/usr/share/cappuccino/compileline.grm > /dev/null # Build architecture-independent files here. binary-indep: build install