139cdd2a16
Update to v5.1.0 qemu OBS-URL: https://build.opensuse.org/request/show/825860 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=557
50 lines
2.0 KiB
Diff
50 lines
2.0 KiB
Diff
From: Bruce Rogers <brogers@suse.com>
|
|
Date: Thu, 27 Jun 2019 10:15:24 -0600
|
|
Subject: ipxe:Makefile: fix issues of build reproducibility
|
|
|
|
References: bsc#1011213
|
|
|
|
It is desirable to produce the same bits on subsequent
|
|
builds when the actual code of the package doesn't
|
|
change. (bsc#1011213)
|
|
|
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
|
---
|
|
src/Makefile.housekeeping | 13 ++++++++++---
|
|
1 file changed, 10 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/roms/ipxe/src/Makefile.housekeeping b/roms/ipxe/src/Makefile.housekeeping
|
|
index f6f3e29248d3e59b76de690aeb0c..d94eb1454c9168545c933ec6e900 100644
|
|
--- a/roms/ipxe/src/Makefile.housekeeping
|
|
+++ b/roms/ipxe/src/Makefile.housekeeping
|
|
@@ -1172,11 +1172,18 @@ blib : $(BLIB)
|
|
# Command to generate build ID. Must be unique for each $(BIN)/%.tmp,
|
|
# even within the same build run.
|
|
#
|
|
-BUILD_ID_CMD := perl -e 'printf "0x%08x", int ( rand ( 0xffffffff ) );'
|
|
+# NB: In the case of the SUSE qemu-ipxe package we want reproducible
|
|
+# builds, so we just use the TGT_ROM_NAME variable, which is already
|
|
+# a unique (in the context of the files we generate) hex value suitable
|
|
+# for specifying the build_id. We no longer define a BUILD_ID_CMD, as
|
|
+# we need to use the TGT_ROM_NAME variable directly in the link command
|
|
|
|
# Build timestamp
|
|
#
|
|
-BUILD_TIMESTAMP := $(shell date +%s)
|
|
+# NB: In the case of the SUSE qemu-ipxe package we want reproducible
|
|
+# builds, so we use a pre-determined timestamp, rather than the current
|
|
+# timestamp
|
|
+BUILD_TIMESTAMP := $(PACKAGING_TIMESTAMP)
|
|
|
|
# Build version
|
|
#
|
|
@@ -1196,7 +1203,7 @@ $(BIN)/version.%.o : core/version.c $(MAKEDEPS) $(GIT_INDEX)
|
|
$(BIN)/%.tmp : $(BIN)/version.%.o $(BLIB) $(MAKEDEPS) $(LDSCRIPT)
|
|
$(QM)$(ECHO) " [LD] $@"
|
|
$(Q)$(LD) $(LDFLAGS) -T $(LDSCRIPT) $(TGT_LD_FLAGS) $< $(BLIB) -o $@ \
|
|
- --defsym _build_id=`$(BUILD_ID_CMD)` \
|
|
+ --defsym _build_id=`$(PRINTF) "0x%b" "$(TGT_ROM_NAME)"` \
|
|
--defsym _build_timestamp=$(BUILD_TIMESTAMP) \
|
|
-Map $(BIN)/$*.tmp.map
|
|
$(Q)$(OBJDUMP) -ht $@ | $(PERL) $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map
|