Package: libperl-apireference-perl Version: 0.21-1 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org
This module recently switched to using Sereal::Encoder instead of Data::Dumper to store pre-parsed data. The stored data representation now varies between builds. The attached patch fixes this, rendering the build reproducible again. See https://wiki.debian.org/ReproducibleBuilds for more information about the "reproducible builds" effort. -- Niko Tyni nt...@debian.org
>From 1b27b06805350932aac7af089c793fef692ffd39 Mon Sep 17 00:00:00 2001 From: Niko Tyni <nt...@debian.org> Date: Sat, 5 Dec 2015 14:43:02 +0200 Subject: [PATCH] Make the stored data reproducible between builds The 'canonical' option makes Sereal::Encoder produce serialized data structures that don't vary between builds. This makes the build result reproducible. --- lib/Perl/APIReference.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Perl/APIReference.pm b/lib/Perl/APIReference.pm index d10b05a..561ee9d 100644 --- a/lib/Perl/APIReference.pm +++ b/lib/Perl/APIReference.pm @@ -141,6 +141,7 @@ sub _dump_as_class { require Sereal::Encoder; my $data = $self->{'index'}; my $dump = Sereal::Encoder->new({ + canonical => 1, compress => Sereal::Encoder::SRL_ZLIB(), compress_level => 9, dedupe_strings => 1, -- 2.6.2