xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/perl/files/determinism.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1Fixes to make the perl build reproducible:
2
3a) Remove the \n from configure_attr.sh since it gets quoted differently depending on
4   whether the shell is bash or dash which can cause the test result to be incorrect.
5   Reported upstream: https://github.com/arsv/perl-cross/issues/87
6
7b) Sort the order of the module lists from configure_mods.sh since otherwise
8   the result isn't the same leading to makefile differences.
9   Reported upstream: https://github.com/arsv/perl-cross/issues/88
10
11c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst
12   there for good measure)
13   This needs to go to upstream perl (not done)
14
15d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash
16   and "" with dash
17   Reported upstream: https://github.com/arsv/perl-cross/issues/87
18
19RP 2020/2/7
20
21Upstream-Status: Pending [75% submitted]
22Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
23
24Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL
25===================================================================
26--- perl-5.30.1.orig/cpan/Encode/Byte/Makefile.PL
27+++ perl-5.30.1/cpan/Encode/Byte/Makefile.PL
28@@ -171,7 +171,7 @@ sub postamble
29     my $lengthsofar = length($str);
30     my $continuator = '';
31     $str .= "$table.c : $enc2xs Makefile.PL";
32-    foreach my $file (@{$tables{$table}})
33+    foreach my $file (sort (@{$tables{$table}}))
34     {
35         $str .= $continuator.' '.$self->catfile($dir,$file);
36         if ( length($str)-$lengthsofar > 128*$numlines )
37@@ -189,7 +189,7 @@ sub postamble
38         qq{\n\t\$(PERL) $plib $enc2xs $ucopts -o \$\@ -f $table.fnm\n\n};
39     open (FILELIST, ">$table.fnm")
40         || die "Could not open $table.fnm: $!";
41-    foreach my $file (@{$tables{$table}})
42+    foreach my $file (sort (@{$tables{$table}}))
43     {
44         print FILELIST $self->catfile($dir,$file) . "\n";
45     }
46