From 701f161eb6333b9fa75f8612e9fc47910e93cec6 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Wed, 13 Apr 2022 16:40:06 -0700 Subject: [PATCH] Allow init_rc files to be installed in ramdisk Test: th Test: m target-file-package, then check INIT_BOOT dir of target file, make sure snapuserd.rc is there Bug: 219841787 Bug: 228893064 Change-Id: Iac3f219c763fbf8acd17f0339089c7576974dc05 --- core/base_rules.mk | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/core/base_rules.mk b/core/base_rules.mk index e6b8f20785..f358356a3d 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -590,10 +590,18 @@ ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE)) my_init_rc := $(foreach rc,$(LOCAL_INIT_RC_$(my_32_64_bit_suffix)) $(LOCAL_INIT_RC),$(LOCAL_PATH)/$(rc)) endif ifneq ($(strip $(my_init_rc)),) - # Make doesn't support recovery as an output partition, but some Soong modules installed in recovery - # have init.rc files that need to be installed alongside them. Manually handle the case where the - # output file is in the recovery partition. - my_init_rc_path := $(if $(filter $(TARGET_RECOVERY_ROOT_OUT)/%,$(my_module_path)),$(TARGET_RECOVERY_ROOT_OUT)/system/etc,$(TARGET_OUT$(partition_tag)_ETC)) + # Make doesn't support recovery or ramdisk as an output partition, + # but some Soong modules installed in recovery or ramdisk + # have init.rc files that need to be installed alongside them. + # Manually handle the case where the + # output file is in the recovery or ramdisk partition. + ifneq (,$(filter $(TARGET_RECOVERY_ROOT_OUT)/%,$(my_module_path))) + my_init_rc_path := $(TARGET_RECOVERY_ROOT_OUT)/system/etc + else ifneq (,$(filter $(TARGET_RAMDISK_OUT)/%,$(my_module_path))) + my_init_rc_path := $(TARGET_RAMDISK_OUT)/system/etc + else + my_init_rc_path := $(TARGET_OUT$(partition_tag)_ETC) + endif my_init_rc_pairs := $(foreach rc,$(my_init_rc),$(rc):$(my_init_rc_path)/init/$(notdir $(rc))) my_init_rc_installed := $(foreach rc,$(my_init_rc_pairs),$(call word-colon,2,$(rc)))