aboutsummaryrefslogtreecommitdiff
path: root/linux/linux.mk
diff options
context:
space:
mode:
authorGravatar Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>2016-11-23 13:58:44 +0100
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-11-23 22:56:49 +0100
commitaf109fb44469a89b2576d167b02f02a811d13c12 (patch)
tree851afd72048956cfcdf2570cc87a18769183291f /linux/linux.mk
parent59f9c4ca9feb2c070df508c7196f06a6e87307b4 (diff)
downloadbuildroot-af109fb44469a89b2576d167b02f02a811d13c12.tar.gz
buildroot-af109fb44469a89b2576d167b02f02a811d13c12.tar.bz2
linux: override build timestamp for reproducible builds
Linux kernel include a few information about build environment in its binary. This feature is incompatible with BR2_REPRODUCIBLE. This patch overload build information when BR2_REPRODUCIBLE is enabled. Note that usage of KBUILD_BUILD_TIMESTAMP is not mandatory since Buildroot use `fakedate'. However, native solution is prefered when upstream provide one. Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'linux/linux.mk')
-rw-r--r--linux/linux.mk8
1 files changed, 8 insertions, 0 deletions
diff --git a/linux/linux.mk b/linux/linux.mk
index 988427ca7c..7e826ccdf0 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -94,6 +94,14 @@ LINUX_MAKE_ENV = \
$(TARGET_MAKE_ENV) \
BR_BINARIES_DIR=$(BINARIES_DIR)
+ifeq ($(BR2_REPRODUCIBLE),y)
+LINUX_MAKE_ENV += \
+ KBUILD_BUILD_VERSION=1 \
+ KBUILD_BUILD_USER=buildroot \
+ KBUILD_BUILD_HOST=buildroot \
+ KBUILD_BUILD_TIMESTAMP="$(shell date -d @$(SOURCE_DATE_EPOCH))"
+endif
+
# Get the real Linux version, which tells us where kernel modules are
# going to be installed in the target filesystem.
LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null`