blob: ed4d06f5ec60c940d7b51bd872bb7b2d9159232f [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001Fixes 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
Brad Bishop35a77422020-05-26 13:25:03 -040024Index: perl-5.30.1/cnf/configure_attr.sh
25===================================================================
26--- perl-5.30.1.orig/cnf/configure_attr.sh
27+++ perl-5.30.1/cnf/configure_attr.sh
28@@ -131,7 +131,7 @@ if not hinted d_c99_variadic_macros 'sup
29 try_start
30 try_add '#include <stdio.h>'
31 try_add '#define foo(fmt, ...) printf(fmt, __VA_ARGS__)'
32- try_add 'int main(void) { foo("%i\n", 1234); return 0; }'
33+ try_add 'int main(void) { foo("%i", 1234); return 0; }'
34 try_compile
35 resdef d_c99_variadic_macros 'supported' 'missing'
36 fi
Andrew Geissler82c905d2020-04-13 13:39:40 -050037Index: perl-5.30.1/cnf/configure_mods.sh
38===================================================================
39--- perl-5.30.1.orig/cnf/configure_mods.sh
40+++ perl-5.30.1/cnf/configure_mods.sh
41@@ -82,7 +82,7 @@ extonlyif() {
42 }
43
44 definetrimspaces() {
45- v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//'`
46+ v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//' | xargs -n1 | LANG=C sort | xargs`
47 define $1 "$v"
48 }
49
50Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL
51===================================================================
52--- perl-5.30.1.orig/cpan/Encode/Byte/Makefile.PL
53+++ perl-5.30.1/cpan/Encode/Byte/Makefile.PL
54@@ -171,7 +171,7 @@ sub postamble
55 my $lengthsofar = length($str);
56 my $continuator = '';
57 $str .= "$table.c : $enc2xs Makefile.PL";
58- foreach my $file (@{$tables{$table}})
59+ foreach my $file (sort (@{$tables{$table}}))
60 {
61 $str .= $continuator.' '.$self->catfile($dir,$file);
62 if ( length($str)-$lengthsofar > 128*$numlines )
63@@ -189,7 +189,7 @@ sub postamble
64 qq{\n\t\$(PERL) $plib $enc2xs $ucopts -o \$\@ -f $table.fnm\n\n};
65 open (FILELIST, ">$table.fnm")
66 || die "Could not open $table.fnm: $!";
67- foreach my $file (@{$tables{$table}})
68+ foreach my $file (sort (@{$tables{$table}}))
69 {
70 print FILELIST $self->catfile($dir,$file) . "\n";
71 }
72Index: perl-5.30.1/cnf/configure
73===================================================================
74--- perl-5.30.1.orig/cnf/configure
75+++ perl-5.30.1/cnf/configure
76@@ -1,4 +1,4 @@
77-#!/bin/sh
78+#!/bin/bash
79
80 base=${0%/*}; test -z "$base" && base=.
81