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 11dff75..534699b 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))