From eb9431ee8a245e92bddbcb62be655e20232ea701 Mon Sep 17 00:00:00 2001 From: Bob Badour Date: Mon, 6 Jun 2022 16:59:33 -0700 Subject: [PATCH] Fix pitfall: do not delete intermediates dir. Test: build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_coral_hwasan TARGET_BUILD_VARIANT=userdebug droid dist with-license platform_tests continuous_instrumentation_tests continuous_native_tests Change-Id: Ibf1bff6ee67e4958b1e1ea2fbc0385787d3bf0f0 --- core/tasks/tools/package-modules.mk | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/core/tasks/tools/package-modules.mk b/core/tasks/tools/package-modules.mk index 20a1694682..aecb4a864a 100644 --- a/core/tasks/tools/package-modules.mk +++ b/core/tasks/tools/package-modules.mk @@ -25,7 +25,7 @@ LOCAL_MODULE_CLASS := PACKAGING LOCAL_MODULE_STEM := $(my_package_name).zip LOCAL_UNINSTALLABLE_MODULE := true include $(BUILD_SYSTEM)/base_rules.mk -my_staging_dir := $(intermediates) +my_staging_dir := $(intermediates)/staging my_package_zip := $(LOCAL_BUILT_MODULE) my_built_modules := $(foreach p,$(my_copy_pairs),$(call word-colon,1,$(p))) @@ -92,17 +92,18 @@ ifneq ($(my_missing_error),) endif $(my_package_zip): PRIVATE_COPY_PAIRS := $(my_copy_pairs) +$(my_package_zip): PRIVATE_STAGING_DIR := $(my_staging_dir) $(my_package_zip): PRIVATE_PICKUP_FILES := $(my_pickup_files) -$(my_package_zip) : $(my_built_modules) +$(my_package_zip) : $(my_built_modules) $(SOONG_ZIP) @echo "Package $@" - @rm -rf $(dir $@) && mkdir -p $(dir $@) + @rm -rf $(PRIVATE_STAGING_DIR) && mkdir -p $(PRIVATE_STAGING_DIR) $(foreach p, $(PRIVATE_COPY_PAIRS),\ $(eval pair := $(subst :,$(space),$(p)))\ mkdir -p $(dir $(word 2,$(pair))) && \ cp -Rf $(word 1,$(pair)) $(word 2,$(pair)) && ) true $(hide) $(foreach f, $(PRIVATE_PICKUP_FILES),\ - cp -RfL $(f) $(dir $@) && ) true - $(hide) cd $(dir $@) && zip -rqX $(notdir $@) * + cp -RfL $(f) $(PRIVATE_STAGING_DIR) && ) true + $(hide) $(SOONG_ZIP) -o $@ -C $(PRIVATE_STAGING_DIR) -D $(PRIVATE_STAGING_DIR) my_makefile := my_staging_dir :=