From 2bb1f518fdf8b1483ecb876e9acb9431f93eb8e6 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 13 Dec 2018 22:44:25 -0800 Subject: [PATCH] Correctly create directories before unzipping dexpreopt zip Ie7daa94e107d53eff075ca58dbe721bd9d7fc8c2 attempted to pre-create the directories that unzip would unzip into, but incorrectly created them in the top of the source tree instead of in $(PRODUCT_OUT). Fix the directory location and add a cleanspec to clean up the incorrect directories in the source tree. Bug: 119412419 Test: m correctly cleans up incorrect directories in source tree Test: extract unzip command from out/verbose.log.gz and add bash -x Change-Id: Ica006a007d112c232311435aaac0c0e476232b67 --- CleanSpec.mk | 3 +++ core/dex_preopt_odex_install.mk | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CleanSpec.mk b/CleanSpec.mk index 91e6e6605..45ca7c18f 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -525,6 +525,9 @@ $(call add-clean-step, rm -f $(HOST_OUT)/bin/aidegen) # Remove perfprofd $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/perfprofd) +# Remove incorrectly created directories in the source tree +$(call add-clean-step, find system/app system/priv-app system/framework system_other -depth -type d -print0 | xargs -0 rmdir) + # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk index 097f84a2b..d13e3153c 100644 --- a/core/dex_preopt_odex_install.mk +++ b/core/dex_preopt_odex_install.mk @@ -253,7 +253,7 @@ ifdef LOCAL_DEX_PREOPT LOCAL_POST_INSTALL_CMD += && endif - LOCAL_POST_INSTALL_CMD += for i in $$(zipinfo -1 $(my_dexpreopt_zip)); do mkdir -p $$(dirname $$i); done && unzip -qo -d $(PRODUCT_OUT) $(my_dexpreopt_zip) + LOCAL_POST_INSTALL_CMD += for i in $$(zipinfo -1 $(my_dexpreopt_zip)); do mkdir -p $(PRODUCT_OUT)/$$(dirname $$i); done && unzip -qo -d $(PRODUCT_OUT) $(my_dexpreopt_zip) $(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD) $(LOCAL_INSTALLED_MODULE): $(my_dexpreopt_zip)