New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reproducibility support #16657
Comments
From nixos@crystalgamma.deThis is a bug report for perl from nixos@crystalgamma.de, As part of making the nixpkgs/NixOS bootstrapping process reproducible, I am This makes bitwise reproducibility difficult. Please find an example patch for the defaulting of $cf_time attached. Flags: Site configuration information for perl 5.24.4: Configured by user at Sat Apr 14 09:35:01 UTC 2018. Summary of my perl5 (revision 5 version 24 subversion 4) configuration: @INC for perl 5.24.4: Environment for perl 5.24.4: |
From nixos@crystalgamma.decf_time.diff--- perl-5.24.3/Configure
+++ perl-5.24.3/Configure
@@ -3862,7 +3862,10 @@
. ./posthint.sh
: who configured the system
-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
+case "$SOURCE_DATE_EPOCH" in
+ "") cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`;;
+ *) cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; date -d "@$SOURCE_DATE_EPOCH" 2>&1`
+esac
case "$cf_by" in
"")
cf_by=`(logname) 2>/dev/null`
|
From @jkeenanOn Wed, 15 Aug 2018 15:18:02 GMT, nixos@crystalgamma.de wrote:
There was a little bit of discussion of the question of reproducible builds at last year's Perl 5 Core Hackathon: https://github.com/p5h/2017/wiki/Proposed-Discussions#reproducible-builds
-- |
The RT System itself - Status changed from 'new' to 'open' |
From @jkeenanOn Wed, 15 Aug 2018 15:18:02 GMT, nixos@crystalgamma.de wrote:
The patch was drawn against perl-5.24.3, which is no longer supported. I did my best to apply it to perl 5 blead and created this branch for smoke-testing and further evaluation: smoke-me/jkeenan/133452/cf_time-reproducible Thank you very much. -- |
From @doughera88On Wed, Aug 15, 2018 at 08:18:02AM -0700, (via RT) wrote:
I agree that wanting to make it easy to make reproducible builds is a reasonable
cf_by can already be overridden on the Configure command line by specifying
Unfortunately, the use of date -d to print out an arbitrary date is not portable. Inline Patchdiff --git a/Configure b/Configure
index 0194d7f434..b93250f023 100755
--- a/Configure
+++ b/Configure
@@ -3864,8 +3864,13 @@ esac
. ./posthint.sh
+# Allow overrides for reproducible builds
+case "$cf_time" in
+"")
+ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
+ ;;
+esac
: who configured the system
-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
case "$cf_by" in
"")
cf_by=`(logname) 2>/dev/null`
-- Andy Dougherty doughera@lafayette.edu |
From @jkeenanOn Fri, 17 Aug 2018 20:49:48 GMT, doughera wrote:
Branch for smoke-testing: smoke-me/jkeenan/adougherty/133452/cf_time-reproducible -- |
From nixos@crystalgamma.deOn Friday, August 17, 2018 10:49:48 PM CEST you wrote:
OK, that is definitely useful. I don't know what I was thinking when I was
I feared as much. Being able to override cf_time sounds good enough though. |
Migrated from rt.perl.org#133452 (status was 'open')
Searchable as RT133452$
The text was updated successfully, but these errors were encountered: