From b2a5c7b3693f4e44beb80575ee6cf66d89d333dd Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Mon, 13 Feb 2017 13:41:43 -0800 Subject: [PATCH] Fix init rc installation in vendor when LOCAL_MODULE_PATH is set The init.rc path selection uses the same partition_tag detection to select an installation partition. So make sure that we always set partition_tag even if we've been given an explicit module path. Bug: 35314904 Test: set proprietary: true to Soong module with an init rc, verify that was the only change to build-aosp_arm64.ninja Change-Id: Ic6ffd7a5177959db96a34a24896b242ee5b09e41 --- CleanSpec.mk | 2 ++ core/base_rules.mk | 34 +++++++++++++++++----------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/CleanSpec.mk b/CleanSpec.mk index b9f6e1390..9d3fc23c0 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -398,6 +398,8 @@ $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/ $(call add-clean-step, rm -rf $(HOST_OUT_TESTCASES)) $(call add-clean-step, rm -rf $(TARGET_OUT_TESTCASES)) +$(call add-clean-step, rm -rf $(TARGET_OUT_ETC)/init) + # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ diff --git a/core/base_rules.mk b/core/base_rules.mk index 1f55eaef3..8cceaad58 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -163,24 +163,24 @@ my_module_path := $(strip $(LOCAL_MODULE_PATH)) endif my_module_path := $(patsubst %/,%,$(my_module_path)) my_module_relative_path := $(strip $(LOCAL_MODULE_RELATIVE_PATH)) +ifdef LOCAL_IS_HOST_MODULE + partition_tag := +else +ifeq (true,$(LOCAL_PROPRIETARY_MODULE)) + partition_tag := _VENDOR +else ifeq (true,$(LOCAL_OEM_MODULE)) + partition_tag := _OEM +else ifeq (true,$(LOCAL_ODM_MODULE)) + partition_tag := _ODM +else ifeq (NATIVE_TESTS,$(LOCAL_MODULE_CLASS)) + partition_tag := _DATA +else + # The definition of should-install-to-system will be different depending + # on which goal (e.g., sdk or just droid) is being built. + partition_tag := $(if $(call should-install-to-system,$(my_module_tags)),,_DATA) +endif +endif ifeq ($(my_module_path),) - ifdef LOCAL_IS_HOST_MODULE - partition_tag := - else - ifeq (true,$(LOCAL_PROPRIETARY_MODULE)) - partition_tag := _VENDOR - else ifeq (true,$(LOCAL_OEM_MODULE)) - partition_tag := _OEM - else ifeq (true,$(LOCAL_ODM_MODULE)) - partition_tag := _ODM - else ifeq (NATIVE_TESTS,$(LOCAL_MODULE_CLASS)) - partition_tag := _DATA - else - # The definition of should-install-to-system will be different depending - # on which goal (e.g., sdk or just droid) is being built. - partition_tag := $(if $(call should-install-to-system,$(my_module_tags)),,_DATA) - endif - endif install_path_var := $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT$(partition_tag)_$(LOCAL_MODULE_CLASS) ifeq (true,$(LOCAL_PRIVILEGED_MODULE)) install_path_var := $(install_path_var)_PRIVILEGED