From 8c9a7881729d82afefc74a8c6e552b20b722b011 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Thu, 13 Aug 2020 13:46:43 -1000 Subject: [PATCH] build: SDK/IB reproducible and faster compression Both IB and SDK now use the same logic for packing. This commit add reproducible multithread compression to the SDK and corrects the file mtime for both. Previously all files where just copied over from the build system, generating random mtimes. Signed-off-by: Paul Spooren --- target/imagebuilder/Makefile | 5 ++++- target/sdk/Makefile | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index b463feb456ee..ad19ab2b53ff 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -86,7 +86,10 @@ endif (cd $(PKG_BUILD_DIR); find staging_dir/host/bin/ $(IB_LDIR)/scripts/dtc/ -type f | \ $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host) STRIP=sstrip $(SCRIPT_DIR)/rstrip.sh $(PKG_BUILD_DIR)/staging_dir/host/bin/ - $(TAR) -cf - -C $(BUILD_DIR) $(IB_NAME) | xz -T$(if $(filter 1,$(NPROC)),2,0) -zc -7e > $@ + (cd $(BUILD_DIR); \ + tar -I '$(STAGING_DIR_HOST)/bin/xz -7e -T$(if $(filter 1,$(NPROC)),2,0)' -cf $@ $(IB_NAME) \ + --mtime="$(shell date --date=@$(SOURCE_DATE_EPOCH))"; \ + ) download: prepare: diff --git a/target/sdk/Makefile b/target/sdk/Makefile index d3552b47eb89..022a791ebfee 100644 --- a/target/sdk/Makefile +++ b/target/sdk/Makefile @@ -152,7 +152,8 @@ $(BIN_DIR)/$(SDK_NAME).tar.xz: clean find $(SDK_BUILD_DIR) -name CVS | $(XARGS) rm -rf -make -C $(SDK_BUILD_DIR)/scripts/config clean (cd $(BUILD_DIR); \ - tar -I 'xz -7e' -cf $@ $(SDK_NAME); \ + tar -I '$(STAGING_DIR_HOST)/bin/xz -7e -T$(if $(filter 1,$(NPROC)),2,0)' -cf $@ $(SDK_NAME) \ + --mtime="$(shell date --date=@$(SOURCE_DATE_EPOCH))"; \ ) download: -- 2.30.2