Bug#835815: perl: please make the output of ExtUtils::MM_Unix reproducible

Chris Lamb lamby at debian.org
Sun Aug 28 15:22:27 UTC 2016


Source: perl
Version: 5.22.2-3
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: timestamps toolchain
X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0], I noticed
that ExtUtils::MM_Unix generates perllocal.pod files that are
not reproducible.

For example:

  -=head2 Sun Jul  3 14:56:53 2016: C<Mod  [..]
  +=head2 Sun Aug  6 23:18:50 2017: C<Mod  [..]

(See also #834190)


Patch attached.

 [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-
-------------- next part --------------
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index f63145c..4ffeb8e 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -3700,7 +3700,7 @@ Obsolete, deprecated method. Not used since Version 5.21.
 sub writedoc {
 # --- perllocal.pod section ---
     my($self,$what,$name, at attribs)=@_;
-    my $time = localtime;
+    my $time = gmtime($ENV{SOURCE_DATE_EPOCH} || time);
     print "=head2 $time: $what C<$name>\n\n=over 4\n\n=item *\n\n";
     print join "\n\n=item *\n\n", map("C<$_>", at attribs);
     print "\n\n=back\n\n";


More information about the Reproducible-builds mailing list