boot/barebox: pass required environment variables for reproducible build
Barebox makes use of the same variables as the linux kernel does for handling reproducible build -- KBUILD_BUILD_HOST, KBUILD_BUILD_TIMESTAMP, KBUILD_BUILD_USER. This patch sets the proper variables based on linux/linux.mk, and passes them to the make invocation when building, to ensure a reproducible build is possible when BR2_REPRODUCIBLE is enabled. Signed-off-by: Casey Reeves <casey@xogium.me> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
bfef88762d
commit
c90bd74ebb
@ -74,6 +74,13 @@ endif
|
||||
$(1)_MAKE_FLAGS = ARCH=$$($(1)_ARCH) CROSS_COMPILE="$$(TARGET_CROSS)"
|
||||
$(1)_MAKE_ENV = $$(TARGET_MAKE_ENV)
|
||||
|
||||
ifeq ($(BR2_REPRODUCIBLE),y)
|
||||
$(1)_MAKE_ENV += \
|
||||
KBUILD_BUILD_USER=buildroot \
|
||||
KBUILD_BUILD_HOST=buildroot \
|
||||
KBUILD_BUILD_TIMESTAMP="$(shell LC_ALL=C date -d @$(SOURCE_DATE_EPOCH))"
|
||||
endif
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_USE_DEFCONFIG),y)
|
||||
$(1)_KCONFIG_DEFCONFIG = $$(call qstrip,$$(BR2_TARGET_$(1)_BOARD_DEFCONFIG))_defconfig
|
||||
else ifeq ($$(BR2_TARGET_$(1)_USE_CUSTOM_CONFIG),y)
|
||||
@ -121,7 +128,7 @@ endef
|
||||
|
||||
define $(1)_BUILD_CMDS
|
||||
$$($(1)_BUILD_BAREBOXENV_CMDS)
|
||||
$$(TARGET_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D)
|
||||
$$($(1)_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D)
|
||||
$$($(1)_BUILD_CUSTOM_ENV)
|
||||
endef
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user