summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl-cross/files/determinism.patch
blob: 71a405ab6b5d521f2f796cbe5d190f91fcd4776e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
From 8fd84d6d760b21bad2c499b572951cc3f2235953 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 5 Feb 2020 23:54:02 +0000
Subject: [PATCH] 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: Submitted [https://github.com/arsv/perl-cross/pull/154 https://github.com/arsv/perl-cross/pull/155]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
---
 cnf/configure         | 2 +-
 cnf/configure_mods.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/cnf/configure b/cnf/configure
index 2f451c6..86bc865 100755
--- a/cnf/configure
+++ b/cnf/configure
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 base=${0%/*}; test -z "$base" && base=.
 
diff --git a/cnf/configure_mods.sh b/cnf/configure_mods.sh
index d4ef5a7..8e88b48 100644
--- a/cnf/configure_mods.sh
+++ b/cnf/configure_mods.sh
@@ -108,7 +108,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"
 }