diff options
author | Paul Spooren <mail@aparcar.org> | 2020-08-13 13:46:43 -1000 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2020-08-23 18:55:49 +0200 |
commit | 8c9a7881729d82afefc74a8c6e552b20b722b011 (patch) | |
tree | 007f30edd255131b26d1366df37c59aa5d39ea17 | |
parent | 1cf842dd136ceb9a1e1a61d4d4caa3b3a46c0c1b (diff) | |
download | upstream-8c9a7881729d82afefc74a8c6e552b20b722b011.tar.gz upstream-8c9a7881729d82afefc74a8c6e552b20b722b011.tar.bz2 upstream-8c9a7881729d82afefc74a8c6e552b20b722b011.zip |
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@aparcar.org>
-rw-r--r-- | target/imagebuilder/Makefile | 5 | ||||
-rw-r--r-- | 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: |