mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
openssl-1.1.1: remove build path from version info
The openssl build system generates buildinf.h containing the full compiler command line used to compile objects. This breaks reproducibility, as the compile command is baked into libcrypto, where it is used when running `openssl version -f`. Add stripped build variables for the compiler and cflags lines, and use those when generating buildinfo.h. This is based on a similar patch for older openssl versions: https://patchwork.openembedded.org/patch/147229/ (From OE-Core rev: cbc9b743a711f07c04cf9f5b2fc3f83da6d28913) Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
62c15051ce
commit
c77d38acd6
@@ -0,0 +1,70 @@
|
||||
From 3e1d00481093e10775eaf69d619c45b32a4aa7dc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= <martin@geanix.com>
|
||||
Date: Tue, 6 Nov 2018 14:50:47 +0100
|
||||
Subject: [PATCH] buildinfo: strip sysroot and debug-prefix-map from compiler
|
||||
info
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The openssl build system generates buildinf.h containing the full
|
||||
compiler command line used to compile objects. This breaks
|
||||
reproducibility, as the compile command is baked into libcrypto, where
|
||||
it is used when running `openssl version -f`.
|
||||
|
||||
Add stripped build variables for the compiler and cflags lines, and use
|
||||
those when generating buildinfo.h.
|
||||
|
||||
This is based on a similar patch for older openssl versions:
|
||||
https://patchwork.openembedded.org/patch/147229/
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
Signed-off-by: Martin Hundebøll <martin@geanix.com>
|
||||
---
|
||||
Configurations/unix-Makefile.tmpl | 10 +++++++++-
|
||||
crypto/build.info | 2 +-
|
||||
2 files changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
|
||||
index 16af4d2087..54c162784c 100644
|
||||
--- a/Configurations/unix-Makefile.tmpl
|
||||
+++ b/Configurations/unix-Makefile.tmpl
|
||||
@@ -317,13 +317,21 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (),
|
||||
'$(CNF_LDFLAGS)', '$(LDFLAGS)') -}
|
||||
BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS)
|
||||
|
||||
-# CPPFLAGS_Q is used for one thing only: to build up buildinf.h
|
||||
+# *_Q variables are used for one thing only: to build up buildinf.h
|
||||
CPPFLAGS_Q={- $cppflags1 =~ s|([\\"])|\\$1|g;
|
||||
$cppflags2 =~ s|([\\"])|\\$1|g;
|
||||
$lib_cppflags =~ s|([\\"])|\\$1|g;
|
||||
join(' ', $lib_cppflags || (), $cppflags2 || (),
|
||||
$cppflags1 || ()) -}
|
||||
|
||||
+CFLAGS_Q={- for (@{$config{CFLAGS}}) {
|
||||
+ s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g;
|
||||
+ }
|
||||
+ join(' ', @{$config{CFLAGS}}) -}
|
||||
+
|
||||
+CC_Q={- $config{CC} =~ s|--sysroot=[^ ]+|--sysroot=recipe-sysroot|g;
|
||||
+ join(' ', $config{CC}) -}
|
||||
+
|
||||
PERLASM_SCHEME= {- $target{perlasm_scheme} -}
|
||||
|
||||
# For x86 assembler: Set PROCESSOR to 386 if you want to support
|
||||
diff --git a/crypto/build.info b/crypto/build.info
|
||||
index b515b7318e..8c9cee2a09 100644
|
||||
--- a/crypto/build.info
|
||||
+++ b/crypto/build.info
|
||||
@@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \
|
||||
ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl
|
||||
|
||||
DEPEND[cversion.o]=buildinf.h
|
||||
-GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
|
||||
+GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC_Q) $(CFLAGS_Q) $(CPPFLAGS_Q)" "$(PLATFORM)"
|
||||
DEPEND[buildinf.h]=../configdata.pm
|
||||
|
||||
GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME)
|
||||
--
|
||||
2.19.1
|
||||
|
||||
@@ -17,6 +17,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
|
||||
file://0001-skip-test_symbol_presence.patch \
|
||||
file://0002-fix-CVE-2018-0734.patch \
|
||||
file://0003-fix-CVE-2018-0735.patch \
|
||||
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_class-nativesdk = " \
|
||||
|
||||
Reference in New Issue
Block a user