Tar has ability to change current dir, so use that instead additional
command invocation. Also being here, change tar arguments to make final
archive reproducible.

Cc: Scott Roberts <[email protected]>
Signed-off-by: Tomasz Maciej Nowak <[email protected]>
---
 target/linux/mvebu/image/Makefile | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/target/linux/mvebu/image/Makefile 
b/target/linux/mvebu/image/Makefile
index ae4d3b9594..5a19b0559d 100644
--- a/target/linux/mvebu/image/Makefile
+++ b/target/linux/mvebu/image/Makefile
@@ -70,9 +70,15 @@ define Build/uDPU-firmware
        (rm -fR $@-fw; mkdir -p $@-fw)
        $(CP) $(BIN_DIR)/$(IMAGE_PREFIX)-initramfs.itb $@-fw/recovery.itb
        $(CP) [email protected] $@-fw/boot.scr
-       (cd $(TARGET_DIR); $(TAR) -cvzf $@-fw/rootfs.tgz .)
-       (cd [email protected]; $(TAR) -cvzf $@-fw/boot.tgz .)
-       (cd $@-fw; $(TAR) -cvzf $(KDIR_TMP)/$(IMAGE_PREFIX)-firmware.tgz .)
+       $(TAR) -cvzp --numeric-owner --owner=0 --group=0 --sort=name \
+               $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
+               -f $@-fw/rootfs.tgz -C $(TARGET_DIR) .
+       $(TAR) -cvzp --numeric-owner --owner=0 --group=0 --sort=name \
+               $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
+               -f $@-fw/boot.tgz -C [email protected] .
+       $(TAR) -cvzp --numeric-owner --owner=0 --group=0 --sort=name \
+               $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
+               -f $(KDIR_TMP)/$(IMAGE_PREFIX)-firmware.tgz -C $@-fw .
 endef
 
 DEVICE_VARS += BOOT_SCRIPT UBOOT
-- 
2.25.0


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to