Source: libical
Version: 1.0.1-0.1
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: randomness
X-Debbugs-Cc: [email protected]
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
`. `'` [email protected] / 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