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

Reply via email to