summaryrefslogtreecommitdiff
path: root/scripts/Makefile.spl
diff options
context:
space:
mode:
authorVagrant Cascadian <vagrant@debian.org>2018-06-03 12:26:57 -0700
committerTom Rini <trini@konsulko.com>2018-06-04 11:25:30 -0400
commit8664ab7debabfb6e1049c81030c2a18fd3eecb58 (patch)
treea93faf704a8cd55e8199fdb8ce1fc0815d1b6ffd /scripts/Makefile.spl
parentdcd8a102ca33b6b15bc578076d3a50f66e6d3af3 (diff)
Set time and umask on multi-dtb fit images to ensure reproducibile builds.
When building compressed (lzop, gzip) multi-dtb fit images, the compression tool may embed the time or umask in the image. Work around this by manually setting the time of the source file using SOURCE_DATE_EPOCH and a hard-coded 0600 umask. With gzip, this could be accomplished by using -n/--no-name, but lzop has no current workaround: https://bugs.debian.org/896520 Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Diffstat (limited to 'scripts/Makefile.spl')
-rw-r--r--scripts/Makefile.spl4
1 files changed, 4 insertions, 0 deletions
diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
index 057389997de..ef018b5b405 100644
--- a/scripts/Makefile.spl
+++ b/scripts/Makefile.spl
@@ -391,6 +391,10 @@ MKIMAGEFLAGS_$(SPL_BIN).multidtb.fit = -f auto -A $(ARCH) -T firmware -C none -O
$(obj)/$(SPL_BIN).multidtb.fit: /dev/null $(SHRUNK_ARCH_DTB) FORCE
$(call if_changed,mkimage)
+ifneq ($(SOURCE_DATE_EPOCH),)
+ touch -d @$(SOURCE_DATE_EPOCH) $(obj)/$(SPL_BIN).multidtb.fit
+ chmod 0600 $(obj)/$(SPL_BIN).multidtb.fit
+endif
$(obj)/$(SPL_BIN).multidtb.fit.gz: $(obj)/$(SPL_BIN).multidtb.fit
@gzip -kf9 $< > $@