build: SDK/IB reproducible and faster compression
authorPaul Spooren <mail@aparcar.org>
Thu, 13 Aug 2020 23:46:43 +0000 (13:46 -1000)
committerMatthias Schiffer <mschiffer@universe-factory.net>
Sun, 23 Aug 2020 16:55:49 +0000 (18:55 +0200)
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>
target/imagebuilder/Makefile
target/sdk/Makefile

index b463feb456eed860eb210b3c5c9328f5fa205299..ad19ab2b53ffd08d91ffb86817e54fdb31279660 100644 (file)
@@ -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:
index d3552b47eb894a1934f33efc390bf7794cba02c8..022a791ebfee662a7ae4e966dd0abe64e80a75b7 100644 (file)
@@ -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: