Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | Fixes to make the perl build reproducible: |
| 2 | |
| 3 | a) 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 | |
| 7 | b) 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 | |
| 11 | c) 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 | |
| 15 | d) 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 | |
| 19 | RP 2020/2/7 |
| 20 | |
| 21 | Upstream-Status: Pending [75% submitted] |
| 22 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org |
| 23 | |
| 24 | Index: perl-5.30.1/cnf/configure_mods.sh |
| 25 | =================================================================== |
| 26 | --- perl-5.30.1.orig/cnf/configure_mods.sh |
| 27 | +++ perl-5.30.1/cnf/configure_mods.sh |
| 28 | @@ -82,7 +82,7 @@ extonlyif() { |
| 29 | } |
| 30 | |
| 31 | definetrimspaces() { |
| 32 | - v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//'` |
| 33 | + v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//' | xargs -n1 | LANG=C sort | xargs` |
| 34 | define $1 "$v" |
| 35 | } |
| 36 | |
| 37 | Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL |
| 38 | =================================================================== |
| 39 | --- perl-5.30.1.orig/cpan/Encode/Byte/Makefile.PL |
| 40 | +++ perl-5.30.1/cpan/Encode/Byte/Makefile.PL |
| 41 | @@ -171,7 +171,7 @@ sub postamble |
| 42 | my $lengthsofar = length($str); |
| 43 | my $continuator = ''; |
| 44 | $str .= "$table.c : $enc2xs Makefile.PL"; |
| 45 | - foreach my $file (@{$tables{$table}}) |
| 46 | + foreach my $file (sort (@{$tables{$table}})) |
| 47 | { |
| 48 | $str .= $continuator.' '.$self->catfile($dir,$file); |
| 49 | if ( length($str)-$lengthsofar > 128*$numlines ) |
| 50 | @@ -189,7 +189,7 @@ sub postamble |
| 51 | qq{\n\t\$(PERL) $plib $enc2xs $ucopts -o \$\@ -f $table.fnm\n\n}; |
| 52 | open (FILELIST, ">$table.fnm") |
| 53 | || die "Could not open $table.fnm: $!"; |
| 54 | - foreach my $file (@{$tables{$table}}) |
| 55 | + foreach my $file (sort (@{$tables{$table}})) |
| 56 | { |
| 57 | print FILELIST $self->catfile($dir,$file) . "\n"; |
| 58 | } |
| 59 | Index: perl-5.30.1/cnf/configure |
| 60 | =================================================================== |
| 61 | --- perl-5.30.1.orig/cnf/configure |
| 62 | +++ perl-5.30.1/cnf/configure |
| 63 | @@ -1,4 +1,4 @@ |
| 64 | -#!/bin/sh |
| 65 | +#!/bin/bash |
| 66 | |
| 67 | base=${0%/*}; test -z "$base" && base=. |
| 68 | |