diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-01-03 14:20:12 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-01-11 22:28:38 +0000 |
commit | 468588819ef16a973b70c9612cdfc1bcd0ed0a9a (patch) | |
tree | ab53152c1ec7bc5d4a007797491b952fbc2855f9 /meta/recipes-connectivity/openssl | |
parent | 2b65abb2554a01bd21e3fa4bfbe3237f0c674c76 (diff) | |
download | poky-468588819ef16a973b70c9612cdfc1bcd0ed0a9a.tar.gz |
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.
(From OE-Core rev: b360fdca923bb3e4a4bf41d705e634eafc0e54c5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f8281e290737dba16a46d7ae937c66b3266e0fe8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/openssl')
-rw-r--r-- | meta/recipes-connectivity/openssl/openssl/reproducibility.patch | 22 | ||||
-rw-r--r-- | meta/recipes-connectivity/openssl/openssl_1.1.1l.bb | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/reproducibility.patch b/meta/recipes-connectivity/openssl/openssl/reproducibility.patch new file mode 100644 index 0000000000..8accbc9df2 --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl/reproducibility.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | Using localtime() means the output can depend on the timezone of the build machine. | ||
2 | Using gmtime() is safer. For complete reproducibility use SOURCE_DATE_EPOCH if set. | ||
3 | |||
4 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
5 | Upstream-Status: Pending [should be suitable] | ||
6 | |||
7 | Index: openssl-3.0.1/apps/progs.pl | ||
8 | =================================================================== | ||
9 | --- openssl-3.0.1.orig/apps/progs.pl | ||
10 | +++ openssl-3.0.1/apps/progs.pl | ||
11 | @@ -21,7 +21,10 @@ die "Unrecognised option, must be -C or | ||
12 | my %commands = (); | ||
13 | my $cmdre = qr/^\s*int\s+([a-z_][a-z0-9_]*)_main\(\s*int\s+argc\s*,/; | ||
14 | my $apps_openssl = shift @ARGV; | ||
15 | -my $YEAR = [localtime()]->[5] + 1900; | ||
16 | +my $YEAR = [gmtime()]->[5] + 1900; | ||
17 | +if (defined($ENV{SOURCE_DATE_EPOCH}) && $ENV{SOURCE_DATE_EPOCH} !~ /\D/) { | ||
18 | + $YEAR = [gmtime($ENV{SOURCE_DATE_EPOCH})]->[5] + 1900; | ||
19 | +} | ||
20 | |||
21 | # because the program apps/openssl has object files as sources, and | ||
22 | # they then have the corresponding C files as source, we need to chain | ||
diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb index 9412b19fa5..bf7cd6527e 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb | |||
@@ -17,6 +17,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ | |||
17 | file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ | 17 | file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ |
18 | file://afalg.patch \ | 18 | file://afalg.patch \ |
19 | file://reproducible.patch \ | 19 | file://reproducible.patch \ |
20 | file://reproducibility.patch \ | ||
20 | " | 21 | " |
21 | 22 | ||
22 | SRC_URI_append_class-nativesdk = " \ | 23 | SRC_URI_append_class-nativesdk = " \ |