Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 701f161e authored by Kelvin Zhang's avatar Kelvin Zhang
Browse files

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
parent 90814c07
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -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)))