From: Alexander Couzens Date: Sun, 18 Jun 2017 19:30:30 +0000 (+0200) Subject: ar71xx/image: make tar calls reproducible X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d6331d5583d17e4cf9f67906449cb11dcef4007c;p=librecmc%2Flibrecmc.git ar71xx/image: make tar calls reproducible Use --mtime when SOURCE_DATE_EPOCH is set. Use gzip -n9z instead of tar z to remove timestamp in gzip header. Signed-off-by: Alexander Couzens --- diff --git a/target/linux/ar71xx/image/legacy.mk b/target/linux/ar71xx/image/legacy.mk index a9f535f064..919ac7e174 100644 --- a/target/linux/ar71xx/image/legacy.mk +++ b/target/linux/ar71xx/image/legacy.mk @@ -589,7 +589,10 @@ define Image/Build/ALFA cd $(KDIR)/$(1); \ cp $(KDIR_TMP)/vmlinux-$(2).uImage $(KDIR)/$(1)/$(7); \ cp $(KDIR)/root.$(1) $(KDIR)/$(1)/$(8); \ - $(TAR) zcf $(call factoryname,$(1),$(2)) -C $(KDIR)/$(1) $(7) $(8); \ + $(TAR) c \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + -C $(KDIR)/$(1) $(7) $(8) \ + | gzip -9nc > $(call factoryname,$(1),$(2)); \ ( \ echo WRM7222C | dd bs=32 count=1 conv=sync; \ echo -ne '\xfe'; \ @@ -611,7 +614,9 @@ define Image/Build/Senao of=$(KDIR_TMP)/$(2)/openwrt-senao-$(2)-root.$(1) bs=64k conv=sync ( \ cd $(KDIR_TMP)/$(2)/; \ - $(TAR) -cz -f $(call factoryname,$(1),$(2)) * \ + $(TAR) -c \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + * | gzip -9nc > $(call factoryname,$(1),$(2)) \ ) -rm -rf $(KDIR_TMP)/$(2)/ -sh $(TOPDIR)/scripts/combined-image.sh \ diff --git a/target/linux/ar71xx/image/senao.mk b/target/linux/ar71xx/image/senao.mk index 46ea9703fa..0c56aa49b3 100644 --- a/target/linux/ar71xx/image/senao.mk +++ b/target/linux/ar71xx/image/senao.mk @@ -8,7 +8,10 @@ define Build/senao-factory-image $(CP) $(IMAGE_KERNEL) $@.senao/openwrt-senao-$(board)-uImage-lzma.bin $(CP) $(rootfs) $@.senao/openwrt-senao-$(board)-root.squashfs - $(TAR) -czf $@ -C $@.senao . + $(TAR) -c \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + -C $@.senao . | gzip -9nc > $@ + rm -rf $@.senao endef