64435eabdc
Update to v4.1.0. Also includes other major packaging changes as follows: There is a new package maintenance workflow - see README.PACKAGING for details. The sibling packages qemu-linux-user and qemu-testsuite are now created with the Build Service's MultiBuild feature. This also necessitates combining the qemu-linux-user changelog content back into qemu's. Luckily the delta there is quite small. Note that the qemu spec file is now that much busier, but added section markers should help reduce the confusion. Also qemu is being enabled for RISCV host compatibility, so some changes are related to that as well. OBS-URL: https://build.opensuse.org/request/show/730437 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=487
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 f8334921b8b93cbd03f0a0de9910..97fa325bb52314e05192d0414436 100644
|
|
--- a/roms/ipxe/src/Makefile.housekeeping
|
|
+++ b/roms/ipxe/src/Makefile.housekeeping
|
|
@@ -1162,11 +1162,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
|
|
#
|
|
@@ -1186,7 +1193,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
|