فهرست منبع

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 <[email protected]>
Alexander Couzens 8 سال پیش
والد
کامیت
d6331d5583
2فایلهای تغییر یافته به همراه11 افزوده شده و 3 حذف شده
  1. 7 2
      target/linux/ar71xx/image/legacy.mk
  2. 4 1
      target/linux/ar71xx/image/senao.mk

+ 7 - 2
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 \

+ 4 - 1
target/linux/ar71xx/image/senao.mk

@@ -8,7 +8,10 @@ define Build/senao-factory-image
 	$(CP) $(IMAGE_KERNEL) [email protected]/openwrt-senao-$(board)-uImage-lzma.bin
 	$(CP) $(rootfs) [email protected]/openwrt-senao-$(board)-root.squashfs
 
-	$(TAR) -czf $@ -C [email protected] .
+	$(TAR) -c \
+		$(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
+		-C [email protected] . | gzip -9nc > $@
+
 	rm -rf [email protected]
 endef