blob: ed4d06f5ec60c940d7b51bd872bb7b2d9159232f [file] [log] [blame]
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_attr.sh
===================================================================
--- perl-5.30.1.orig/cnf/configure_attr.sh
+++ perl-5.30.1/cnf/configure_attr.sh
@@ -131,7 +131,7 @@ if not hinted d_c99_variadic_macros 'sup
try_start
try_add '#include <stdio.h>'
try_add '#define foo(fmt, ...) printf(fmt, __VA_ARGS__)'
- try_add 'int main(void) { foo("%i\n", 1234); return 0; }'
+ try_add 'int main(void) { foo("%i", 1234); return 0; }'
try_compile
resdef d_c99_variadic_macros 'supported' 'missing'
fi
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=.