[openwrt/openwrt] build: SDK/IB reproducible and faster compression

LEDE Commits lede-commits at lists.infradead.org
Sun Aug 23 12:58:11 EDT 2020


neoraider pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/8c9a7881729d82afefc74a8c6e552b20b722b011

commit 8c9a7881729d82afefc74a8c6e552b20b722b011
Author: Paul Spooren <mail at aparcar.org>
AuthorDate: Thu Aug 13 13:46:43 2020 -1000

    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 <mail at aparcar.org>
---
 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 b463feb456..ad19ab2b53 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 d3552b47eb..022a791ebf 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:



More information about the lede-commits mailing list