Source: libical Version: 1.0.1-0.1 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org
Hi, While working on the "reproducible builds" effort [1], we have noticed that libical could not be built reproducibly. The attached patch removes randomess caused Perl hash order, resulting in the generated icalderivedvalue.c file. Once applied, libical can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/0001-reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/0001-reproducible-build.patch 2015-08-21 15:15:04.106535730 +0100 @@ -0,0 +1,11 @@ +--- libical-1.0.1.orig/scripts/mkderivedvalues.pl ++++ libical-1.0.1/scripts/mkderivedvalues.pl +@@ -141,7 +141,7 @@ if($opt_c){ + my $count = scalar(keys %h) + 1; + print "static const struct icalvalue_kind_map value_map[$count]={\n"; + +- foreach $value (keys %h) { ++ foreach $value (sort keys %h) { + + next if $value eq 'NO' or $value eq 'ANY'; + --- a/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/series 2015-08-21 15:15:01.242512715 +0100 @@ -0,0 +1 @@ +0001-reproducible-build.patch