mirror of
https://git.yoctoproject.org/poky
synced 2026-02-27 03:49:41 +01:00
openssl: Add reproducibility fix
When the date rolled from one year to another, it highlighted a reproducibility issue in openssl. Patch a workaround for this to avoid autobuilder failures. Help submitting upstream welcome. (From OE-Core rev: f8281e290737dba16a46d7ae937c66b3266e0fe8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
Using localtime() means the output can depend on the timezone of the build machine.
|
||||
Using gmtime() is safer. For complete reproducibility use SOURCE_DATE_EPOCH if set.
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Upstream-Status: Pending [should be suitable]
|
||||
|
||||
Index: openssl-3.0.1/apps/progs.pl
|
||||
===================================================================
|
||||
--- openssl-3.0.1.orig/apps/progs.pl
|
||||
+++ openssl-3.0.1/apps/progs.pl
|
||||
@@ -21,7 +21,10 @@ die "Unrecognised option, must be -C or
|
||||
my %commands = ();
|
||||
my $cmdre = qr/^\s*int\s+([a-z_][a-z0-9_]*)_main\(\s*int\s+argc\s*,/;
|
||||
my $apps_openssl = shift @ARGV;
|
||||
-my $YEAR = [localtime()]->[5] + 1900;
|
||||
+my $YEAR = [gmtime()]->[5] + 1900;
|
||||
+if (defined($ENV{SOURCE_DATE_EPOCH}) && $ENV{SOURCE_DATE_EPOCH} !~ /\D/) {
|
||||
+ $YEAR = [gmtime($ENV{SOURCE_DATE_EPOCH})]->[5] + 1900;
|
||||
+}
|
||||
|
||||
# because the program apps/openssl has object files as sources, and
|
||||
# they then have the corresponding C files as source, we need to chain
|
||||
@@ -12,6 +12,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
|
||||
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
|
||||
file://afalg.patch \
|
||||
file://0001-Configure-do-not-tweak-mips-cflags.patch \
|
||||
file://reproducibility.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:class-nativesdk = " \
|
||||
|
||||
Reference in New Issue
Block a user