Source: ifupdown Version: 0.7.48.2 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness
Hi! As part of the “reproducible builds” effort, we have detected that `ifupdown` did not build reproducibly. This is caused by the fact that Perl orders its hashes randomly by default. This, in turn, results in a random order in which the methods are written when generating C code. Resulting in different binaries for each builds. The attached patch will sort the methods to produce a stable order. `ifupdown` can then build reproducibly. :) [1]: https://wiki.debian.org/ReproducibleBuilds -- Lunar .''`. lu...@debian.org : :Ⓐ : # apt-get install anarchism `. `'` `-
diff -Nru ifupdown-0.7.48.1/debian/changelog ifupdown-0.7.48.2~reproducible1/debian/changelog --- ifupdown-0.7.48.1/debian/changelog 2014-03-23 17:50:11.000000000 +0000 +++ ifupdown-0.7.48.2~reproducible1/debian/changelog 2014-09-21 18:20:37.000000000 +0000 @@ -1,3 +1,10 @@ +ifupdown (0.7.48.2~reproducible1) UNRELEASED; urgency=low + + * Output methods in stable order when generating C code to make + builds reproducible. + + -- Jérémy Bobbio <lu...@debian.org> Sun, 21 Sep 2014 18:19:56 +0000 + ifupdown (0.7.48.1) unstable; urgency=low * Add --ignore-errors option. diff -Nru ifupdown-0.7.48.1/defn2c.pl ifupdown-0.7.48.2~reproducible1/defn2c.pl --- ifupdown-0.7.48.1/defn2c.pl 2014-03-23 17:27:30.000000000 +0000 +++ ifupdown-0.7.48.2~reproducible1/defn2c.pl 2014-09-21 18:18:00.000000000 +0000 @@ -211,7 +211,7 @@ print "static method methods[] = {\n"; %ourmethods = %methods if (our_arch()); my $method; -foreach $method (keys %ourmethods) { +foreach $method (sort keys %ourmethods) { print <<EOF; { "$method",
signature.asc
Description: Digital signature