mirror of https://github.com/ipxe/ipxe.git
[build] Replace random build ID with a deterministic one
Calculate the build ID as a checksum over the input files. Since the input files include $(BIN)/version.%.o which itself includes the build target name (from which TGT_LD_FLAGS is calculated), this should be sufficient to meet the requirement that the build ID be unique for each $(BIN)/%.tmp even within the same build run. Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/242/head
parent
bc4979e2cf
commit
d8dc06fbf9
|
@ -1163,7 +1163,13 @@ blib : $(BLIB)
|
||||||
# Command to generate build ID. Must be unique for each $(BIN)/%.tmp,
|
# Command to generate build ID. Must be unique for each $(BIN)/%.tmp,
|
||||||
# even within the same build run.
|
# even within the same build run.
|
||||||
#
|
#
|
||||||
BUILD_ID_CMD := perl -e 'printf "0x%08x", int ( rand ( 0xffffffff ) );'
|
# The build ID is supposed to be collision-free across all ROMs that
|
||||||
|
# might ever end up installed in the same system. It doesn't just
|
||||||
|
# disambiguate targets within a single build; it also disambiguates
|
||||||
|
# different builds (such as builds for multiple ROMs all built from
|
||||||
|
# the same blib.a).
|
||||||
|
#
|
||||||
|
BUILD_ID_CMD = sha1sum $^ | sort | cksum | awk '{printf "0x%08x", $$1}'
|
||||||
|
|
||||||
# Build timestamp
|
# Build timestamp
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue