Files
poky/meta/recipes-devtools/perl/files/determinism.patch
Alexander Kanavin 3c2e77b186 perl: update to 5.30.2
racefix.patch was merged to perl-cross
determinism.patch was partially merged to perl-cross

0001-tests-adjust-to-correctly-exclude-unbuilt-extensions.patch
is no longer needed as issue is addressed upstream.

(From OE-Core rev: d263537bc0a0ad8736dea5e49b93188b123d4a9f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00

69 lines
2.5 KiB
Diff

Fixes to make the perl build reproducible:
a) Remove the \n from configure_attr.sh since it gets quoted differently depending on
whether the shell is bash or dash which can cause the test result to be incorrect.
Reported upstream: https://github.com/arsv/perl-cross/issues/87
b) Sort the order of the module lists from configure_mods.sh since otherwise
the result isn't the same leading to makefile differences.
Reported upstream: https://github.com/arsv/perl-cross/issues/88
c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst
there for good measure)
This needs to go to upstream perl (not done)
d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash
and "" with dash
Reported upstream: https://github.com/arsv/perl-cross/issues/87
RP 2020/2/7
Upstream-Status: Pending [75% submitted]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
Index: perl-5.30.1/cnf/configure_mods.sh
===================================================================
--- perl-5.30.1.orig/cnf/configure_mods.sh
+++ perl-5.30.1/cnf/configure_mods.sh
@@ -82,7 +82,7 @@ extonlyif() {
}
definetrimspaces() {
- v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//'`
+ v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//' | xargs -n1 | LANG=C sort | xargs`
define $1 "$v"
}
Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL
===================================================================
--- perl-5.30.1.orig/cpan/Encode/Byte/Makefile.PL
+++ perl-5.30.1/cpan/Encode/Byte/Makefile.PL
@@ -171,7 +171,7 @@ sub postamble
my $lengthsofar = length($str);
my $continuator = '';
$str .= "$table.c : $enc2xs Makefile.PL";
- foreach my $file (@{$tables{$table}})
+ foreach my $file (sort (@{$tables{$table}}))
{
$str .= $continuator.' '.$self->catfile($dir,$file);
if ( length($str)-$lengthsofar > 128*$numlines )
@@ -189,7 +189,7 @@ sub postamble
qq{\n\t\$(PERL) $plib $enc2xs $ucopts -o \$\@ -f $table.fnm\n\n};
open (FILELIST, ">$table.fnm")
|| die "Could not open $table.fnm: $!";
- foreach my $file (@{$tables{$table}})
+ foreach my $file (sort (@{$tables{$table}}))
{
print FILELIST $self->catfile($dir,$file) . "\n";
}
Index: perl-5.30.1/cnf/configure
===================================================================
--- perl-5.30.1.orig/cnf/configure
+++ perl-5.30.1/cnf/configure
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
base=${0%/*}; test -z "$base" && base=.