kernel: allow reproducable builds
authorJonas Gorski <jonas.gorski@gmail.com>
Sat, 13 Aug 2016 09:29:46 +0000 (11:29 +0200)
committerJonas Gorski <jonas.gorski@gmail.com>
Sat, 13 Aug 2016 09:35:00 +0000 (11:35 +0200)
Similar how we fix the file times in the filesystems, fix the build time
of the kernel, and make the build number static. This should allow the
kernel build to be reproducable when combined with setting the
KERNEL_BUILD_USER and _DOMAIN in case of different machines.

The reproducability only applies to non-initramfs kernels, those still
require additional changes.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
include/kernel-defaults.mk

index 11dff7530541ef366ddce5700c255c7c0aba90c6..534699b79ccc55fe48f29bdfa9cbc06e3a7723db 100644 (file)
@@ -12,6 +12,8 @@ KERNEL_MAKEOPTS := -C $(LINUX_DIR) \
        KBUILD_HAVE_NLS=no \
        KBUILD_BUILD_USER="$(call qstrip,$(CONFIG_KERNEL_BUILD_USER))" \
        KBUILD_BUILD_HOST="$(call qstrip,$(CONFIG_KERNEL_BUILD_DOMAIN))" \
+       KBUILD_BUILD_TIMESTAMP="$(shell date -u --date="@$(SOURCE_DATE_EPOCH)")" \
+       KBUILD_BUILD_VERSION="0" \
        CONFIG_SHELL="$(BASH)" \
        $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
        $(if $(PKG_BUILD_ID),LDFLAGS_MODULE=--build-id=0x$(PKG_BUILD_ID))