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
This commit is contained in:
Colin Cross 2018-12-13 22:44:25 -08:00
parent 9eaeb56c24
commit 2bb1f518fd
2 changed files with 4 additions and 1 deletions

View File

@ -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
# ************************************************

View File

@ -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)