Source: libopengl-perl Version: 0.6703+dfsg-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 libopengl-perl could not be built reproducibly. The attached patch removes randomness from the build system. Once applied, libopengl-perl can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
diff -urNad libopengl-perl.orig/libopengl-perl-0.6703+dfsg/debian/patches/reproducible_build libopengl-perl/libopengl-perl-0.6703+dfsg/debian/patches/reproducible_build --- libopengl-perl.orig/libopengl-perl-0.6703+dfsg/debian/patches/reproducible_build 1970-01-01 01:00:00.000000000 +0100 +++ libopengl-perl/libopengl-perl-0.6703+dfsg/debian/patches/reproducible_build 2015-02-22 08:58:12.617278658 +0000 @@ -0,0 +1,21 @@ +--- libopengl-perl-0.6703+dfsg.orig/Makefile.PL ++++ libopengl-perl-0.6703+dfsg/Makefile.PL +@@ -8,6 +8,9 @@ use Config; + # See lib/ExtUtils/MakeMaker.pm for details of how to influence + # the contents of the Makefile that is written. + ++# Ensure deterministic output ++$Data::Dumper::Sortkeys = 1; ++ + # Supported windowing interfaces + our $is_valid_interface = + { +@@ -505,7 +508,7 @@ else # Everyone else + } + + # Marshall libs +- my $libs = ' -l'.join(' -l',values(%$found_libs)); ++ my $libs = ' -l'.join(' -l',sort values(%$found_libs)); + my @more_libs = qw + { + -lX11 diff -urNad libopengl-perl.orig/libopengl-perl-0.6703+dfsg/debian/patches/series libopengl-perl/libopengl-perl-0.6703+dfsg/debian/patches/series --- libopengl-perl.orig/libopengl-perl-0.6703+dfsg/debian/patches/series 2015-02-22 08:51:17.047001226 +0000 +++ libopengl-perl/libopengl-perl-0.6703+dfsg/debian/patches/series 2015-02-22 08:58:09.049121895 +0000 @@ -4,3 +4,4 @@ glext_procs-replacement use-systems-gl dont_link_against_unused_libs +reproducible_build