Merge "Raise an error when partition setting is wrong"
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 42bcb3c..673856c 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -702,6 +702,17 @@
# The core image variant has been renamed to ""
$(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -type d -name "android_*_core*" -print0 | xargs -0 rm -rf)
+# Remove CtsShim apks from system partition, since the have been moved inside
+# the cts shim apex. Also remove the cts shim apex prebuilt since it has been
+# removed in flattened apexs configurations.
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/CtsShimPrivPrebuilt)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/CtsShimPrebuilt)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/apex/com.android.apex.cts.shim.apex)
+
+# Remove vendor and recovery variants, the directory name has changed.
+$(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -type d -name "android_*_recovery*" -print0 | xargs -0 rm -rf)
+$(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -type d -name "android_*_vendor*" -print0 | xargs -0 rm -rf)
+
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************
diff --git a/core/main.mk b/core/main.mk
index 6935efa..5a1693f 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -1159,6 +1159,7 @@
libc_malloc_debug.so \
libc_malloc_hooks.so \
libdl.so \
+ libdl_android.so \
libm.so \
# Conscrypt APEX libraries
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index 95e6fb0..d15e262 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -48,7 +48,7 @@
charger \
cmd \
com.android.adbd \
- com.android.apex.cts.shim.v1_prebuilt \
+ com.android.apex.cts.shim.v1 \
com.android.conscrypt \
com.android.cronet \
com.android.i18n \
@@ -64,8 +64,6 @@
ContactsProvider \
content \
crash_dump \
- CtsShimPrebuilt \
- CtsShimPrivPrebuilt \
debuggerd\
device_config \
dmctl \
diff --git a/target/product/base_vendor.mk b/target/product/base_vendor.mk
index 134ff31..1657e71 100644
--- a/target/product/base_vendor.mk
+++ b/target/product/base_vendor.mk
@@ -23,7 +23,6 @@
init_second_stage.recovery \
ld.config.recovery.txt \
linker.recovery \
- linkerconfig.recovery \
otacerts.recovery \
recovery \
shell_and_utilities_recovery \
diff --git a/target/product/gsi_release.mk b/target/product/gsi_release.mk
index ee644f6..a6dd418 100644
--- a/target/product/gsi_release.mk
+++ b/target/product/gsi_release.mk
@@ -29,12 +29,6 @@
system/product/% \
system/system_ext/%
-
-# GSI doesn't support apex for now.
-# Properties set in product take precedence over those in vendor.
-PRODUCT_PRODUCT_PROPERTIES += \
- ro.apex.updatable=false
-
# Split selinux policy
PRODUCT_FULL_TREBLE_OVERRIDE := true
diff --git a/target/product/updatable_apex.mk b/target/product/updatable_apex.mk
index bdaf545..e5a647c 100644
--- a/target/product/updatable_apex.mk
+++ b/target/product/updatable_apex.mk
@@ -17,6 +17,7 @@
# Inherit this when the target needs to support updating APEXes
ifneq ($(OVERRIDE_TARGET_FLATTEN_APEX),true)
+ PRODUCT_PACKAGES += com.android.apex.cts.shim.v1_prebuilt
PRODUCT_PROPERTY_OVERRIDES := ro.apex.updatable=true
TARGET_FLATTEN_APEX := false
endif
diff --git a/tools/releasetools/build_super_image.py b/tools/releasetools/build_super_image.py
index 6c4d6cb..fb31415 100755
--- a/tools/releasetools/build_super_image.py
+++ b/tools/releasetools/build_super_image.py
@@ -76,6 +76,8 @@
"--super-name", info_dict["super_metadata_device"]]
ab_update = info_dict.get("ab_update") == "true"
+ virtual_ab = info_dict.get("virtual_ab") == "true"
+ virtual_ab_retrofit = info_dict.get("virtual_ab_retrofit") == "true"
retrofit = info_dict.get("dynamic_partition_retrofit") == "true"
block_devices = shlex.split(info_dict.get("super_block_devices", "").strip())
groups = shlex.split(info_dict.get("super_partition_groups", "").strip())
@@ -89,6 +91,8 @@
if ab_update and retrofit:
cmd.append("--auto-slot-suffixing")
+ if virtual_ab and not virtual_ab_retrofit:
+ cmd.append("--virtual-ab")
for device in block_devices:
size = info_dict["super_{}_device_size".format(device)]