Merge "Fix size checks for retrofit dynamic partitions."
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 7d42fc9..a4b7c26 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -517,6 +517,8 @@
$(call add-clean-step, rm -f $(HOST_OUT)/*ts/host-libprotobuf-java-*.jar)
+$(call add-clean-step, find $(OUT_DIR)/target/product/mainline_arm64/system -type f -name "*.*dex" -print0 | xargs -0 rm -f)
+
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************
diff --git a/core/Makefile b/core/Makefile
index e4b4b3a..565180b 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -148,6 +148,11 @@
FINAL_VENDOR_DEFAULT_PROPERTIES += \
$(call collapse-pairs, $(PRODUCT_DEFAULT_PROPERTY_OVERRIDES))
+FINAL_VENDOR_DEFAULT_PROPERTIES += ro.bionic.arch=$(TARGET_ARCH)
+FINAL_VENDOR_DEFAULT_PROPERTIES += ro.bionic.cpu_variant=$(TARGET_CPU_VARIANT)
+FINAL_VENDOR_DEFAULT_PROPERTIES += ro.bionic.2nd_arch=$(TARGET_2ND_ARCH)
+FINAL_VENDOR_DEFAULT_PROPERTIES += ro.bionic.2nd_cpu_variant=$(TARGET_2ND_CPU_VARIANT)
+
# Although these variables are prefixed with TARGET_RECOVERY_, they are also needed under charger
# mode (via libminui).
ifdef TARGET_RECOVERY_DEFAULT_ROTATION
@@ -3070,7 +3075,7 @@
ifeq ($(TARGET_SKIP_OTA_PACKAGE),true)
build_ota_package := false
endif
- ifneq ($(strip $(SANITIZE_TARGET)),)
+ ifneq (,$(filter address, $(SANITIZE_TARGET)))
build_ota_package := false
endif
ifeq ($(TARGET_PRODUCT),sdk)
@@ -3256,7 +3261,7 @@
built_ota_tools :=
# We can't build static executables when SANITIZE_TARGET=address
-ifeq ($(strip $(SANITIZE_TARGET)),)
+ifeq (,$(filter address, $(SANITIZE_TARGET)))
built_ota_tools += \
$(call intermediates-dir-for,EXECUTABLES,updater,,,$(TARGET_PREFER_32_BIT))/updater
endif
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 9c5c69d..cb9c35a 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -277,14 +277,16 @@
generated_sources_dir := $(call local-generated-sources-dir)
ifneq ($(LOCAL_OVERRIDES_MODULES),)
- ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES)
- ifndef LOCAL_IS_HOST_MODULE
+ ifndef LOCAL_IS_HOST_MODULE
+ ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES)
EXECUTABLES.$(LOCAL_MODULE).OVERRIDES := $(strip $(LOCAL_OVERRIDES_MODULES))
+ else ifeq ($(LOCAL_MODULE_CLASS),SHARED_LIBRARIES)
+ SHARED_LIBRARIES.$(LOCAL_MODULE).OVERRIDES := $(strip $(LOCAL_OVERRIDES_MODULES))
else
- $(call pretty-error,host modules cannot use LOCAL_OVERRIDES_MODULES)
+ $(call pretty-error,LOCAL_MODULE_CLASS := $(LOCAL_MODULE_CLASS) cannot use LOCAL_OVERRIDES_MODULES)
endif
else
- $(call pretty-error,LOCAL_MODULE_CLASS := $(LOCAL_MODULE_CLASS) cannot use LOCAL_OVERRIDES_MODULES)
+ $(call pretty-error,host modules cannot use LOCAL_OVERRIDES_MODULES)
endif
endif
diff --git a/core/config.mk b/core/config.mk
index 9eced54..9e227e6 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -959,8 +959,6 @@
$(error PRODUCT_USE_DYNAMIC_PARTITIONS requires $(req) to be true)))
requirements :=
-
- BOARD_KERNEL_CMDLINE += androidboot.logical_partitions=1
endif
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITION_SIZE),true)
diff --git a/core/main.mk b/core/main.mk
index 84457e0..08ab43d 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -969,7 +969,7 @@
# Expand a list of modules to the modules that they override (if any)
# $(1): The list of modules.
define module-overrides
-$(foreach m,$(1),$(PACKAGES.$(m).OVERRIDES) $(EXECUTABLES.$(m).OVERRIDES))
+$(foreach m,$(1),$(PACKAGES.$(m).OVERRIDES) $(EXECUTABLES.$(m).OVERRIDES) $(SHARED_LIBRARIES.$(m).OVERRIDES))
endef
###########################################################
@@ -1531,7 +1531,7 @@
.PHONY: dump-files
dump-files:
$(info product_FILES for $(TARGET_DEVICE) ($(INTERNAL_PRODUCT)):)
- $(foreach p,$(product_FILES),$(info : $(p)))
+ $(foreach p,$(sort $(product_FILES)),$(info : $(p)))
@echo Successfully dumped product file list
.PHONY: nothing
diff --git a/core/product.mk b/core/product.mk
index 661416c..491f916 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -203,7 +203,6 @@
PRODUCT_CFI_EXCLUDE_PATHS \
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE \
PRODUCT_ACTIONABLE_COMPATIBLE_PROPERTY_DISABLE \
- PRODUCT_USE_LOGICAL_PARTITIONS \
PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS \
PRODUCT_ARTIFACT_PATH_REQUIREMENT_HINT \
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST \
diff --git a/core/product_config.mk b/core/product_config.mk
index 5a727c4..177978c 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -523,10 +523,8 @@
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RETROFIT_DYNAMIC_PARTITIONS))
.KATI_READONLY := PRODUCT_RETROFIT_DYNAMIC_PARTITIONS
-# TODO(b/119286600): remove PRODUCT_USE_LOGICAL_PARTITIONS
PRODUCT_USE_DYNAMIC_PARTITIONS := $(or \
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_USE_DYNAMIC_PARTITIONS)), \
- $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_USE_LOGICAL_PARTITIONS)), \
$(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS))
.KATI_READONLY := PRODUCT_USE_DYNAMIC_PARTITIONS
diff --git a/envsetup.sh b/envsetup.sh
index 40f6c46..400e7f0 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -1095,7 +1095,7 @@
{
local PID="$1"
if [ "$PID" ] ; then
- if [[ "$(adb shell cat /proc/$PID/exe | xxd -l 1 -s 4 -ps)" -eq "02" ]] ; then
+ if [[ "$(adb shell cat /proc/$PID/exe | xxd -l 1 -s 4 -p)" -eq "02" ]] ; then
echo "64"
else
echo ""
diff --git a/target/board/mainline_arm64/BoardConfig.mk b/target/board/mainline_arm64/BoardConfig.mk
index 906a566..936c5a0 100644
--- a/target/board/mainline_arm64/BoardConfig.mk
+++ b/target/board/mainline_arm64/BoardConfig.mk
@@ -24,4 +24,8 @@
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := generic
+# Puts odex files on system_other, as well as causing dex files not to get
+# stripped from APKs.
+BOARD_USES_SYSTEM_OTHER_ODEX := true
+
include build/make/target/board/BoardConfigGsiCommon.mk
diff --git a/target/product/aosp_arm.mk b/target/product/aosp_arm.mk
index 795f8aa..5a6a092 100644
--- a/target/product/aosp_arm.mk
+++ b/target/product/aosp_arm.mk
@@ -38,6 +38,10 @@
# Needed by Pi newly launched device to pass VtsTrebleSysProp on GSI
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
+# GSI specific tasks on boot
+PRODUCT_COPY_FILES += \
+ build/make/target/product/vndk/init.gsi.rc:system/etc/init/init.gsi.rc
+
# Support addtional P vendor interface
PRODUCT_EXTRA_VNDK_VERSIONS := 28
diff --git a/target/product/aosp_arm64.mk b/target/product/aosp_arm64.mk
index f3f3c5a..90c159f 100644
--- a/target/product/aosp_arm64.mk
+++ b/target/product/aosp_arm64.mk
@@ -54,6 +54,10 @@
# Needed by Pi newly launched device to pass VtsTrebleSysProp on GSI
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
+# GSI specific tasks on boot
+PRODUCT_COPY_FILES += \
+ build/make/target/product/vndk/init.gsi.rc:system/etc/init/init.gsi.rc
+
# Support addtional P vendor interface
PRODUCT_EXTRA_VNDK_VERSIONS := 28
diff --git a/target/product/aosp_x86.mk b/target/product/aosp_x86.mk
index e3167af..da31e24 100644
--- a/target/product/aosp_x86.mk
+++ b/target/product/aosp_x86.mk
@@ -38,6 +38,10 @@
# Needed by Pi newly launched device to pass VtsTrebleSysProp on GSI
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
+# GSI specific tasks on boot
+PRODUCT_COPY_FILES += \
+ build/make/target/product/vndk/init.gsi.rc:system/etc/init/init.gsi.rc
+
# Support addtional P vendor interface
PRODUCT_EXTRA_VNDK_VERSIONS := 28
diff --git a/target/product/aosp_x86_64.mk b/target/product/aosp_x86_64.mk
index 222adaa..4ce40cc 100644
--- a/target/product/aosp_x86_64.mk
+++ b/target/product/aosp_x86_64.mk
@@ -54,6 +54,10 @@
# Needed by Pi newly launched device to pass VtsTrebleSysProp on GSI
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
+# GSI specific tasks on boot
+PRODUCT_COPY_FILES += \
+ build/make/target/product/vndk/init.gsi.rc:system/etc/init/init.gsi.rc
+
# Support addtional P vendor interface
PRODUCT_EXTRA_VNDK_VERSIONS := 28
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index 85bd136..07fbc3d 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -52,6 +52,7 @@
charger \
cmd \
com.android.location.provider \
+ com.android.tzdata \
ContactsProvider \
content \
crash_dump \
@@ -311,13 +312,20 @@
PRODUCT_PACKAGES_DEBUG := \
adb_keys \
apex.test.key \
+ arping \
iotop \
+ iw \
logpersist.start \
perfprofd \
procrank \
showmap \
sqlite3 \
+ ss \
strace \
+ sanitizer-status \
+ tracepath \
+ tracepath6 \
+ traceroute6 \
unwind_info \
unwind_reg_info \
unwind_symbols \
diff --git a/target/product/mainline_system.mk b/target/product/mainline_system.mk
index 3a8bd11..862a341 100644
--- a/target/product/mainline_system.mk
+++ b/target/product/mainline_system.mk
@@ -56,6 +56,9 @@
audio.a2dp.default \
audio.hearing_aid.default \
+# For ringtones that rely on forward lock encryption
+PRODUCT_PACKAGES += libfwdlockengine
+
PRODUCT_PACKAGES_DEBUG += \
avbctl \
bootctl \
diff --git a/target/product/treble_common.mk b/target/product/treble_common.mk
index d3cce76..bbad484 100644
--- a/target/product/treble_common.mk
+++ b/target/product/treble_common.mk
@@ -46,9 +46,13 @@
PRODUCT_COPY_FILES += \
device/generic/common/nfc/libnfc-nci.conf:system/etc/libnfc-nci.conf
+# GSI specific tasks on boot
+PRODUCT_COPY_FILES += \
+ build/make/target/product/vndk/init.gsi.rc:system/etc/init/init.gsi.rc
+
# Support for the O-MR1 devices
PRODUCT_COPY_FILES += \
- build/make/target/product/vndk/init.gsi.rc:system/etc/init/init.gsi.rc \
+ build/make/target/product/vndk/init.legacy-gsi.rc:system/etc/init/init.legacy-gsi.rc \
build/make/target/product/vndk/init.vndk-27.rc:system/etc/init/gsi/init.vndk-27.rc
# Name space configuration file for non-enforcing VNDK
diff --git a/target/product/vndk/init.gsi.rc b/target/product/vndk/init.gsi.rc
index 0150b1a..695820e 100644
--- a/target/product/vndk/init.gsi.rc
+++ b/target/product/vndk/init.gsi.rc
@@ -1,2 +1,2 @@
-# If ro.vndk.version is not defined, import init.vndk-27.rc.
-import /system/etc/init/gsi/init.vndk-${ro.vndk.version:-27}.rc
+on early-init
+ umount /product # TODO(b/119391482): workaround for /system/product
diff --git a/target/product/vndk/init.legacy-gsi.rc b/target/product/vndk/init.legacy-gsi.rc
new file mode 100644
index 0000000..00dd576
--- /dev/null
+++ b/target/product/vndk/init.legacy-gsi.rc
@@ -0,0 +1,3 @@
+# If ro.vndk.version is not defined, import init.vndk-27.rc.
+import /system/etc/init/gsi/init.vndk-${ro.vndk.version:-27}.rc
+
diff --git a/tools/fs_config/Android.mk b/tools/fs_config/Android.mk
index cb32b9e..bf5e171 100644
--- a/tools/fs_config/Android.mk
+++ b/tools/fs_config/Android.mk
@@ -163,10 +163,11 @@
LOCAL_MODULE_CLASS := ETC
LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
include $(BUILD_SYSTEM)/base_rules.mk
+$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
@mkdir -p $(dir $@)
- $< -D $(if $(fs_config_generate_extra_partition_list), \
- -P '$(subst $(space),$(comma),$(addprefix -,$(fs_config_generate_extra_partition_list)))') \
+ $< -D $(if $(PRIVATE_PARTITION_LIST), \
+ -P '$(subst $(space),$(comma),$(addprefix -,$(PRIVATE_PARTITION_LIST)))') \
-o $@
##################################
@@ -179,10 +180,11 @@
LOCAL_MODULE_CLASS := ETC
LOCAL_INSTALLED_MODULE_STEM := fs_config_files
include $(BUILD_SYSTEM)/base_rules.mk
+$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
@mkdir -p $(dir $@)
- $< -F $(if $(fs_config_generate_extra_partition_list), \
- -P '$(subst $(space),$(comma),$(addprefix -,$(fs_config_generate_extra_partition_list)))') \
+ $< -F $(if $(PRIVATE_PARTITION_LIST), \
+ -P '$(subst $(space),$(comma),$(addprefix -,$(PRIVATE_PARTITION_LIST)))') \
-o $@
ifneq ($(filter vendor,$(fs_config_generate_extra_partition_list)),)
diff --git a/tools/releasetools/validate_target_files.py b/tools/releasetools/validate_target_files.py
index 1cc4a60..ae8253d 100755
--- a/tools/releasetools/validate_target_files.py
+++ b/tools/releasetools/validate_target_files.py
@@ -311,31 +311,9 @@
if info_dict.get("avb_enable") == "true":
logging.info('Verifying Verified Boot 2.0 (AVB) images...')
- key = options['verity_key']
- if key is None:
- key = info_dict['avb_vbmeta_key_path']
-
- # avbtool verifies all the images that have descriptors listed in vbmeta.
- image = os.path.join(input_tmp, 'IMAGES', 'vbmeta.img')
- cmd = ['avbtool', 'verify_image', '--image', image, '--key', key]
-
- # Append the args for chained partitions if any.
- for partition in common.AVB_PARTITIONS:
- key_name = 'avb_' + partition + '_key_path'
- if info_dict.get(key_name) is not None:
- chained_partition_arg = common.GetAvbChainedPartitionArg(
- partition, info_dict, options[key_name])
- cmd.extend(["--expected_chain_partition", chained_partition_arg])
-
- proc = common.Run(cmd)
- stdoutdata, _ = proc.communicate()
- assert proc.returncode == 0, \
- 'Failed to verify {} with verity_verifier (key: {}):\n{}'.format(
- image, key, stdoutdata)
-
- logging.info(
- 'Verified %s with avbtool (key: %s):\n%s', image, key,
- stdoutdata.rstrip())
+ # Temporarily disable the verification for AVB-signed images, due to the
+ # dependency on PyCrypto in `avbtool verify_image` (Bug: 119624011).
+ logging.info('Temporarily disabled due to b/119624011')
def main():