diff options
author | Felix Fietkau <nbd@openwrt.org> | 2016-01-31 23:29:16 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2016-01-31 23:29:16 +0000 |
commit | be6acba4dc5c9013a8f61fb2e9d2dbb976126aa8 (patch) | |
tree | ae4776018ed3f2a18d6c3c0cf97bae2d14fd995b /include | |
parent | ad8169546cbcb5b2ed59cef332bb6b1dc5e389ef (diff) | |
download | mtk-20170518-be6acba4dc5c9013a8f61fb2e9d2dbb976126aa8.zip mtk-20170518-be6acba4dc5c9013a8f61fb2e9d2dbb976126aa8.tar.gz mtk-20170518-be6acba4dc5c9013a8f61fb2e9d2dbb976126aa8.tar.bz2 |
build system: have tar use $SOURCE_DATE_EPOCH for --mtime
The --mtime argument to 'tar' sets the modification time for all files within
the archive, which determines the timestamp files will get when they are
extracted. In this case, rootfs and other tarballs will get mtimes which
correspond to the last commit timestamp of the build system, as reported by
git/subversion.
This is a step towards reproducible image builds.
Signed-off-by: bryan newbold <bnewbold@robocracy.org>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48586
Diffstat (limited to 'include')
-rw-r--r-- | include/image.mk | 8 | ||||
-rw-r--r-- | include/kernel-build.mk | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/include/image.mk b/include/image.mk index 4eee4ad..8f81861 100644 --- a/include/image.mk +++ b/include/image.mk @@ -186,7 +186,8 @@ ifneq ($(CONFIG_NAND_SUPPORT),) [ -z "$(2)" ] || $(CP) "$(KDIR)/root.$(2)" "$(KDIR_TMP)/sysupgrade-$(1)/root" [ -z "$(3)" ] || $(CP) "$(3)" "$(KDIR_TMP)/sysupgrade-$(1)/kernel" (cd "$(KDIR_TMP)"; $(TAR) cvf \ - "$(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(2)-sysupgrade.tar" sysupgrade-$(1)) + "$(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(2)-sysupgrade.tar" sysupgrade-$(1) \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") endef # $(1) board name @@ -248,7 +249,10 @@ define Image/mkfs/cpiogz endef define Image/mkfs/targz - $(TAR) -czpf $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz --numeric-owner --owner=0 --group=0 --sort=name -C $(TARGET_DIR)/ . + $(TAR) -czpf $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz \ + --numeric-owner --owner=0 --group=0 --sort=name \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + -C $(TARGET_DIR)/ . endef E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024))) diff --git a/include/kernel-build.mk b/include/kernel-build.mk index 8bfd9c8..a52c90d 100644 --- a/include/kernel-build.mk +++ b/include/kernel-build.mk @@ -54,7 +54,9 @@ ifdef CONFIG_COLLECT_KERNEL_DEBUG $(STAGING_DIR_ROOT)/lib/modules/$(LINUX_VERSION)/* \ $(KERNEL_BUILD_DIR)/debug/modules/ $(FIND) $(KERNEL_BUILD_DIR)/debug -type f | $(XARGS) $(KERNEL_CROSS)strip --only-keep-debug - $(TAR) c -C $(KERNEL_BUILD_DIR) debug | bzip2 -c -9 > $(BIN_DIR)/kernel-debug.tar.bz2 + $(TAR) c -C $(KERNEL_BUILD_DIR) debug \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + | bzip2 -c -9 > $(BIN_DIR)/kernel-debug.tar.bz2 endef endif |