diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-10-01 15:20:08 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-10-01 15:20:08 +0200 |
commit | 5bde29685b89452d3f584a913b3df5dd41990757 (patch) | |
tree | 05212ca9a1491a25ff9dcbcf9554995403ef17a7 | |
parent | 156c0810e936413ac554e2883343b3b40695cfdc (diff) | |
download | guix-5bde29685b89452d3f584a913b3df5dd41990757.tar.gz |
gnu: perl: Make builds reproducible again.
* gnu/packages/patches/perl-reproducible-build-date.patch: Add hunks to set 'myuname', 'cf_time', and 'cf_by' in 'Configure'.
-rw-r--r-- | gnu/packages/patches/perl-reproducible-build-date.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/patches/perl-reproducible-build-date.patch b/gnu/packages/patches/perl-reproducible-build-date.patch index d5bd25dbfb..bf0d4b8f6d 100644 --- a/gnu/packages/patches/perl-reproducible-build-date.patch +++ b/gnu/packages/patches/perl-reproducible-build-date.patch @@ -3,6 +3,14 @@ Don't encode the current timestamp. This affects the output of `perl -V`, specifically the message "Compiled at [...]". +The 'cf_time' and 'cf_by' values show up in 'config.h' and +in 'Config_heavy.pl'. + +Use the output of 'uname -s' instead of 'uname -a' to avoid recording +the kernel version ('uname -o' leads to directory names like +'x86_64-gnulinux' instead of 'x86_64-linux', which might cause breakage +down the road.) + diff --git a/perl.c b/perl.c index 228a0d8..ed38313 100644 --- a/perl.c @@ -15,3 +23,28 @@ index 228a0d8..ed38313 100644 #ifndef PERL_BUILD_DATE # ifdef __DATE__ # ifdef __TIME__ + +--- a/Configure 1970-01-01 01:00:00.000000000 +0100 ++++ b/Configure 2016-10-01 14:47:20.017319739 +0200 +@@ -3276,7 +3276,7 @@ $eunicefix tr + : Try to determine whether config.sh was made on this system + case "$config_sh" in + '') +-myuname=`$uname -a 2>/dev/null` ++myuname=`$uname -s 2>/dev/null` + $test -z "$myuname" && myuname=`hostname 2>/dev/null` + # Downcase everything to avoid ambiguity. + # Remove slashes and single quotes so we can use parts of this in +@@ -3845,10 +3845,10 @@ + . ./posthint.sh + + : who configured the system +-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ++cf_time="1970-01-01" + case "$cf_by" in + "") +- cf_by=`(logname) 2>/dev/null` ++ cf_by="guix" + case "$cf_by" in + "") + cf_by=`(whoami) 2>/dev/null` |