Merge "Merge the module_* device.mk files into their corresponding product mk files."
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 4fd8baa..68f880f 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -508,6 +508,7 @@
###########################################################
my_init_rc_installed :=
+my_init_rc_path :=
my_init_rc_pairs :=
my_installed_symlinks :=
my_default_test_module :=
@@ -534,7 +535,11 @@
# Rule to install the module's companion init.rc.
my_init_rc := $(LOCAL_INIT_RC_$(my_32_64_bit_suffix)) $(LOCAL_INIT_RC)
ifneq ($(strip $(my_init_rc)),)
-my_init_rc_pairs := $(foreach rc,$(my_init_rc),$(LOCAL_PATH)/$(rc):$(TARGET_OUT$(partition_tag)_ETC)/init/$(notdir $(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))
+my_init_rc_pairs := $(foreach rc,$(my_init_rc),$(LOCAL_PATH)/$(rc):$(my_init_rc_path)/init/$(notdir $(rc)))
my_init_rc_installed := $(foreach rc,$(my_init_rc_pairs),$(call word-colon,2,$(rc)))
# Make sure we only set up the copy rules once, even if another arch variant
diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk
index add3c45..084b302 100644
--- a/core/dex_preopt_odex_install.mk
+++ b/core/dex_preopt_odex_install.mk
@@ -209,7 +209,7 @@
$(my_dexpreopt_libs_compat_29) \
$(my_dexpreopt_libs_compat_30)
else
- my_extra_dexpreopt_libs :=
+ my_dexpreopt_libs_compat :=
endif
my_dexpreopt_libs := $(sort \
diff --git a/tools/releasetools/Android.bp b/tools/releasetools/Android.bp
index 473d854..0c84d4f 100644
--- a/tools/releasetools/Android.bp
+++ b/tools/releasetools/Android.bp
@@ -282,6 +282,7 @@
"boot_signer",
"brotli",
"bsdiff",
+ "deapexer",
"imgdiff",
"minigzip",
"lz4",
@@ -568,6 +569,7 @@
name: "releasetools_test",
defaults: ["releasetools_test_defaults"],
main: "test_utils.py",
+ test_suites: ["general-tests"],
version: {
py2: {
enabled: true,
@@ -590,6 +592,7 @@
name: "releasetools_py3_test",
defaults: ["releasetools_test_defaults"],
main: "test_utils.py",
+ test_suites: ["general-tests"],
version: {
py2: {
enabled: false,
diff --git a/tools/releasetools/TEST_MAPPING b/tools/releasetools/TEST_MAPPING
new file mode 100644
index 0000000..3d57960
--- /dev/null
+++ b/tools/releasetools/TEST_MAPPING
@@ -0,0 +1,8 @@
+{
+ "presubmit": [
+ {
+ "name": "releasetools_test",
+ "host" : true
+ }
+ ]
+}
diff --git a/tools/releasetools/apex_utils.py b/tools/releasetools/apex_utils.py
index 3177fa0..644b92a 100644
--- a/tools/releasetools/apex_utils.py
+++ b/tools/releasetools/apex_utils.py
@@ -545,7 +545,7 @@
debugfs_path = os.path.join(OPTIONS.search_path, "bin", "debugfs_static")
deapexer = 'deapexer'
if OPTIONS.search_path:
- deapexer_path = os.path.join(OPTIONS.search_path, "deapexer")
+ deapexer_path = os.path.join(OPTIONS.search_path, "bin", "deapexer")
if os.path.isfile(deapexer_path):
deapexer = deapexer_path
for apex_filename in os.listdir(target_dir):