Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP3:Update
qemu.20747
ipxe-Makefile-fix-issues-of-build-reprod.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ipxe-Makefile-fix-issues-of-build-reprod.patch of Package qemu.20747
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 134becd508c2f7f7c01c2f601d36..36cfb950e014914232f254b7edbb 100644 --- a/roms/ipxe/src/Makefile.housekeeping +++ b/roms/ipxe/src/Makefile.housekeeping @@ -1163,11 +1163,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 # @@ -1187,7 +1194,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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor