From d47e194115f509b08941cac968e22aae5f7d447f Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Mon, 20 Nov 2023 18:56:08 +0000 Subject: [PATCH] Respect PRODUCT_PACKAGES_SHIPPING_API_LEVEL in artifact path checker Test: lunch gsi_tv_arm-userdebug && m Bug: 299166571 Change-Id: Ic2ceab29967ef5343dc924c52e0928ada06671f8 --- core/main.mk | 5 +++++ core/product_config.mk | 12 ------------ target/product/base_system.mk | 21 +++++++++------------ target/product/base_system_ext.mk | 5 +++++ target/product/generic_system.mk | 4 ---- 5 files changed, 19 insertions(+), 28 deletions(-) diff --git a/core/main.mk b/core/main.mk index c30f1d0b72..4fc0cf1bbf 100644 --- a/core/main.mk +++ b/core/main.mk @@ -1265,6 +1265,11 @@ define product-installed-modules $(if $(filter asan,$(tags_to_install)),$(call get-product-var,$(1),PRODUCT_PACKAGES_DEBUG_ASAN)) \ $(if $(filter java_coverage,$(tags_to_install)),$(call get-product-var,$(1),PRODUCT_PACKAGES_DEBUG_JAVA_COVERAGE)) \ $(if $(filter arm64,$(TARGET_ARCH) $(TARGET_2ND_ARCH)),$(call get-product-var,$(1),PRODUCT_PACKAGES_ARM64)) \ + $(if $(PRODUCT_SHIPPING_API_LEVEL), \ + $(if $(call math_gt_or_eq,29,$(PRODUCT_SHIPPING_API_LEVEL)),$(call get-product-var,$(1),PRODUCT_PACKAGES_SHIPPING_API_LEVEL_29)) \ + $(if $(call math_gt_or_eq,33,$(PRODUCT_SHIPPING_API_LEVEL)),$(call get-product-var,$(1),PRODUCT_PACKAGES_SHIPPING_API_LEVEL_33)) \ + $(if $(call math_gt_or_eq,34,$(PRODUCT_SHIPPING_API_LEVEL)),$(call get-product-var,$(1),PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34)) \ + ) \ $(call auto-included-modules) \ ) \ $(eval ### Filter out the overridden packages and executables before doing expansion) \ diff --git a/core/product_config.mk b/core/product_config.mk index 3ee965458f..7c55d009b4 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -500,18 +500,6 @@ ifeq ($(PRODUCT_SET_DEBUGFS_RESTRICTIONS),) endif endif -ifdef PRODUCT_SHIPPING_API_LEVEL - ifneq (,$(call math_gt_or_eq,29,$(PRODUCT_SHIPPING_API_LEVEL))) - PRODUCT_PACKAGES += $(PRODUCT_PACKAGES_SHIPPING_API_LEVEL_29) - endif - ifneq (,$(call math_gt_or_eq,33,$(PRODUCT_SHIPPING_API_LEVEL))) - PRODUCT_PACKAGES += $(PRODUCT_PACKAGES_SHIPPING_API_LEVEL_33) - endif - ifneq (,$(call math_gt_or_eq,34,$(PRODUCT_SHIPPING_API_LEVEL))) - PRODUCT_PACKAGES += $(PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34) - endif -endif - # If build command defines OVERRIDE_PRODUCT_EXTRA_VNDK_VERSIONS, # override PRODUCT_EXTRA_VNDK_VERSIONS with it. ifdef OVERRIDE_PRODUCT_EXTRA_VNDK_VERSIONS diff --git a/target/product/base_system.mk b/target/product/base_system.mk index 007d6c6db5..7cd164b5fd 100644 --- a/target/product/base_system.mk +++ b/target/product/base_system.mk @@ -311,20 +311,17 @@ PRODUCT_PACKAGES += \ system_manifest.xml \ system_compatibility_matrix.xml \ -HIDL_SUPPORT_SERVICES := \ - hwservicemanager \ - android.hidl.allocator@1.0-service \ - android.hidl.memory@1.0-impl \ - -# TODO(b/299166571) Remove this after the artifact path requirements checker picks up -# this library correctly with the *SHIPPING_API_LEVEL_34 variable -PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ - $(TARGET_COPY_OUT_SYSTEM)/lib/hw/android.hidl.memory@1.0-impl.so \ - $(TARGET_COPY_OUT_SYSTEM)/lib64/hw/android.hidl.memory@1.0-impl.so \ - # Base modules when shipping api level is less than or equal to 34 PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34 += \ - $(HIDL_SUPPORT_SERVICES) \ + android.hidl.memory@1.0-impl \ + +# hwservicemanager is now installed on system_ext, but apexes might be using +# old libraries that are expecting it to be installed on system. This allows +# those apexes to continue working. The symlink can be removed once we are sure +# there are no devices using hwservicemanager (when Android V launching devices +# are no longer supported for dessert upgrades). +PRODUCT_PACKAGES += \ + hwservicemanager_compat_symlink_module \ PRODUCT_PACKAGES_ARM64 := libclang_rt.hwasan \ libclang_rt.hwasan.bootstrap \ diff --git a/target/product/base_system_ext.mk b/target/product/base_system_ext.mk index 852d7ca8f1..d8c186323c 100644 --- a/target/product/base_system_ext.mk +++ b/target/product/base_system_ext.mk @@ -22,3 +22,8 @@ PRODUCT_PACKAGES += \ passwd_system_ext \ selinux_policy_system_ext \ system_ext_manifest.xml \ + +# Base modules when shipping api level is less than or equal to 34 +PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34 += \ + hwservicemanager \ + android.hidl.allocator@1.0-service \ diff --git a/target/product/generic_system.mk b/target/product/generic_system.mk index 6d40436d84..38efde4329 100644 --- a/target/product/generic_system.mk +++ b/target/product/generic_system.mk @@ -128,10 +128,6 @@ PRODUCT_SYSTEM_DEVICE := generic _base_mk_allowed_list := -# TODO(b/299166571) Remove this after the artifact path requirements checker picks up -# hwservicemanager correctly. -PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += $(TARGET_COPY_OUT_SYSTEM)/bin/hwservicemanager - _my_allowed_list := $(_base_mk_allowed_list) # For mainline, system.img should be mounted at /, so we include ROOT here.