diff --git a/core/Makefile b/core/Makefile index d8001fac5e..b2da68badd 100644 --- a/core/Makefile +++ b/core/Makefile @@ -592,33 +592,26 @@ $(INSTALLED_ODM_BUILD_PROP_TARGET): $(BUILDINFO_COMMON_SH) $(POST_PROCESS_PROPS) $(hide) $(POST_PROCESS_PROPS) $@ # ----------------------------------------------------------------- -# product_services build.prop (unless it's merged into /product) -ifdef MERGE_PRODUCT_SERVICES_INTO_PRODUCT - ifneq (,$(PRODUCT_PRODUCT_SERVICES_PROPERTIES)) - $(error PRODUCT_PRODUCT_SERVICES_PROPERTIES is not supported in this build.) - endif -else -INSTALLED_PRODUCT_SERVICES_BUILD_PROP_TARGET := $(TARGET_OUT_PRODUCT_SERVICES)/build.prop -ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_PRODUCT_SERVICES_BUILD_PROP_TARGET) +# system_ext build.prop +INSTALLED_SYSTEM_EXT_BUILD_PROP_TARGET := $(TARGET_OUT_SYSTEM_EXT)/build.prop +ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_SYSTEM_EXT_BUILD_PROP_TARGET) -FINAL_PRODUCT_SERVICES_PROPERTIES += \ - $(call collapse-pairs, $(PRODUCT_PRODUCT_SERVICES_PROPERTIES)) -FINAL_PRODUCT_SERVICES_PROPERTIES := $(call uniq-pairs-by-first-component, \ - $(FINAL_PRODUCT_SERVICES_PROPERTIES),=) -$(INSTALLED_PRODUCT_SERVICES_BUILD_PROP_TARGET): $(BUILDINFO_COMMON_SH) $(POST_PROCESS_PROPS) - @echo Target product_services buildinfo: $@ +FINAL_SYSTEM_EXT_PROPERTIES += \ + $(call collapse-pairs, $(PRODUCT_SYSTEM_EXT_PROPERTIES)) +FINAL_SYSTEM_EXT_PROPERTIES := $(call uniq-pairs-by-first-component, \ + $(FINAL_SYSTEM_EXT_PROPERTIES),=) + +$(INSTALLED_SYSTEM_EXT_BUILD_PROP_TARGET): $(BUILDINFO_COMMON_SH) $(POST_PROCESS_PROPS) + @echo Target system_ext buildinfo: $@ @mkdir -p $(dir $@) $(hide) echo > $@ -ifdef BOARD_USES_PRODUCT_SERVICESIMAGE - $(hide) $(call generate-common-build-props,product_services,$@) -endif # BOARD_USES_PRODUCT_SERVICESIMAGE + $(hide) $(call generate-common-build-props,system_ext,$@) $(hide) echo "#" >> $@; \ - echo "# ADDITIONAL PRODUCT_SERVICES PROPERTIES" >> $@; \ + echo "# ADDITIONAL SYSTEM_EXT BUILD PROPERTIES" >> $@; \ echo "#" >> $@; - $(hide) $(foreach line,$(FINAL_PRODUCT_SERVICES_PROPERTIES), \ + $(hide) $(foreach line,$(FINAL_SYSTEM_EXT_PROPERTIES), \ echo "$(line)" >> $@;) $(hide) $(POST_PROCESS_PROPS) $@ -endif # MERGE_PRODUCT_SERVICES_INTO_PRODUCT # ---------------------------------------------------------------- @@ -1195,10 +1188,10 @@ $(2) $(3): PRIVATE_DIR := $(5) $(2) : $(3) $(3) : $(6) $(BUILD_SYSTEM)/Makefile build/make/tools/generate-notice-files.py build/make/tools/generate-notice-files.py --text-output $(2) \ - $(if $(filter $(1),xml_excluded_extra_partitions),-e vendor -e product -e product_services --xml-output, \ + $(if $(filter $(1),xml_excluded_extra_partitions),-e vendor -e product -e system_ext --xml-output, \ $(if $(filter $(1),xml_vendor),-i vendor --xml-output, \ $(if $(filter $(1),xml_product),-i product --xml-output, \ - $(if $(filter $(1),xml_product_services),-i product_services --xml-output, \ + $(if $(filter $(1),xml_system_ext),-i system_ext --xml-output, \ --html-output)))) $(3) \ -t $$(PRIVATE_MESSAGE) -s $$(PRIVATE_DIR)/src notice_files: $(2) $(3) @@ -1247,10 +1240,10 @@ target_product_notice_file_xml := $(TARGET_OUT_INTERMEDIATES)/NOTICE_PRODUCT.xml target_product_notice_file_xml_gz := $(TARGET_OUT_INTERMEDIATES)/NOTICE_PRODUCT.xml.gz installed_product_notice_xml_gz := $(TARGET_OUT_PRODUCT)/etc/NOTICE.xml.gz -target_product_services_notice_file_txt := $(TARGET_OUT_INTERMEDIATES)/NOTICE_PRODUCT_SERVICES.txt -target_product_services_notice_file_xml := $(TARGET_OUT_INTERMEDIATES)/NOTICE_PRODUCT_SERVICES.xml -target_product_services_notice_file_xml_gz := $(TARGET_OUT_INTERMEDIATES)/NOTICE_PRODUCT_SERVICES.xml.gz -installed_product_services_notice_xml_gz := $(TARGET_OUT_PRODUCT_SERVICES)/etc/NOTICE.xml.gz +target_system_ext_notice_file_txt := $(TARGET_OUT_INTERMEDIATES)/NOTICE_SYSTEM_EXT.txt +target_system_ext_notice_file_xml := $(TARGET_OUT_INTERMEDIATES)/NOTICE_SYSTEM_EXT.xml +target_system_ext_notice_file_xml_gz := $(TARGET_OUT_INTERMEDIATES)/NOTICE_SYSTEM_EXT.xml.gz +installed_system_ext_notice_xml_gz := $(TARGET_OUT_SYSTEM_EXT)/etc/NOTICE.xml.gz # Notice files are copied to TARGET_OUT_NOTICE_FILES as a side-effect of their module # being built. A notice xml file must depend on all modules that could potentially @@ -1262,8 +1255,8 @@ license_modules := $(filter-out $(TARGET_OUT_FAKE)/%,$(license_modules)) license_modules := $(filter-out $(TARGET_OUT_TESTCASES)/%,$(license_modules)) license_modules_vendor := $(filter $(TARGET_OUT_VENDOR)/%,$(license_modules)) license_modules_product := $(filter $(TARGET_OUT_PRODUCT)/%,$(license_modules)) -license_modules_product_services := $(filter $(TARGET_OUT_PRODUCT_SERVICES)/%,$(license_modules)) -license_modules_agg := $(license_modules_vendor) $(license_modules_product) $(license_modules_product_services) +license_modules_system_ext := $(filter $(TARGET_OUT_SYSTEM_EXT)/%,$(license_modules)) +license_modules_agg := $(license_modules_vendor) $(license_modules_product) $(license_modules_system_ext) license_modules_rest := $(filter-out $(license_modules_agg),$(license_modules)) $(eval $(call combine-notice-files, xml_excluded_extra_partitions, \ @@ -1284,12 +1277,12 @@ $(eval $(call combine-notice-files, xml_product, \ "Notices for files contained in the product filesystem image in this directory:", \ $(TARGET_OUT_NOTICE_FILES), \ $(license_modules_product))) -$(eval $(call combine-notice-files, xml_product_services, \ - $(target_product_services_notice_file_txt), \ - $(target_product_services_notice_file_xml), \ - "Notices for files contained in the product_services filesystem image in this directory:", \ +$(eval $(call combine-notice-files, xml_system_ext, \ + $(target_system_ext_notice_file_txt), \ + $(target_system_ext_notice_file_xml), \ + "Notices for files contained in the system_ext filesystem image in this directory:", \ $(TARGET_OUT_NOTICE_FILES), \ - $(license_modules_product_services))) + $(license_modules_system_ext))) $(target_notice_file_xml_gz): $(target_notice_file_xml) | $(MINIGZIP) $(hide) $(MINIGZIP) -9 < $< > $@ @@ -1297,7 +1290,7 @@ $(target_vendor_notice_file_xml_gz): $(target_vendor_notice_file_xml) | $(MINIGZ $(hide) $(MINIGZIP) -9 < $< > $@ $(target_product_notice_file_xml_gz): $(target_product_notice_file_xml) | $(MINIGZIP) $(hide) $(MINIGZIP) -9 < $< > $@ -$(target_product_services_notice_file_xml_gz): $(target_product_services_notice_file_xml) | $(MINIGZIP) +$(target_system_ext_notice_file_xml_gz): $(target_system_ext_notice_file_xml) | $(MINIGZIP) $(hide) $(MINIGZIP) -9 < $< > $@ $(installed_notice_html_or_xml_gz): $(target_notice_file_xml_gz) $(copy-file-to-target) @@ -1305,20 +1298,15 @@ $(installed_vendor_notice_xml_gz): $(target_vendor_notice_file_xml_gz) $(copy-file-to-target) $(installed_product_notice_xml_gz): $(target_product_notice_file_xml_gz) $(copy-file-to-target) - -# No notice file for product_services if its contents are merged into /product. -# The notices will be part of the /product notice file. -ifndef MERGE_PRODUCT_SERVICES_INTO_PRODUCT -$(installed_product_services_notice_xml_gz): $(target_product_services_notice_file_xml_gz) +$(installed_system_ext_notice_xml_gz): $(target_system_ext_notice_file_xml_gz) $(copy-file-to-target) -endif # if we've been run my mm, mmm, etc, don't reinstall this every time ifeq ($(ONE_SHOT_MAKEFILE),) ALL_DEFAULT_INSTALLED_MODULES += $(installed_notice_html_or_xml_gz) ALL_DEFAULT_INSTALLED_MODULES += $(installed_vendor_notice_xml_gz) ALL_DEFAULT_INSTALLED_MODULES += $(installed_product_notice_xml_gz) - ALL_DEFAULT_INSTALLED_MODULES += $(installed_product_services_notice_xml_gz) + ALL_DEFAULT_INSTALLED_MODULES += $(installed_system_ext_notice_xml_gz) endif endif # PRODUCT_NOTICE_SPLIT @@ -1387,7 +1375,7 @@ ifeq ($(TARGET_USERIMAGES_USE_F2FS),true) INTERNAL_USERIMAGES_DEPS += $(MKF2FSUSERIMG) endif -ifneq ($(filter $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE) $(BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE) $(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE) $(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE) $(BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE),squashfs),) +ifneq ($(filter $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE) $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE) $(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE) $(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE) $(BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE),squashfs),) INTERNAL_USERIMAGES_DEPS += $(MKSQUASHFSUSERIMG) endif @@ -1420,7 +1408,7 @@ endif endif # PRODUCT_USE_DYNAMIC_PARTITIONS # $(1): the path of the output dictionary file -# $(2): a subset of "system vendor cache userdata product product_services oem odm" +# $(2): a subset of "system vendor cache userdata product system_ext oem odm" # $(3): additional "key=value" pairs to append to the dictionary file. define generate-image-prop-dictionary $(if $(filter $(2),system),\ @@ -1477,18 +1465,18 @@ $(if $(filter $(2),product),\ $(if $(BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE),$(hide) echo "product_reserved_size=$(BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE)" >> $(1)) $(hide) echo "product_selinux_fc=$(SELINUX_FC)" >> $(1) ) -$(if $(filter $(2),product_services),\ - $(if $(BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "product_services_fs_type=$(BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_EXTFS_INODE_COUNT),$(hide) echo "product_services_extfs_inode_count=$(BOARD_PRODUCT_SERVICESIMAGE_EXTFS_INODE_COUNT)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_EXTFS_RSV_PCT),$(hide) echo "product_services_extfs_rsv_pct=$(BOARD_PRODUCT_SERVICESIMAGE_EXTFS_RSV_PCT)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE),$(hide) echo "product_services_size=$(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_JOURNAL_SIZE),$(hide) echo "product_services_journal_size=$(BOARD_PRODUCT_SERVICESIMAGE_JOURNAL_SIZE)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_COMPRESSOR),$(hide) echo "product_services_squashfs_compressor=$(BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_COMPRESSOR)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_COMPRESSOR_OPT),$(hide) echo "product_services_squashfs_compressor_opt=$(BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_COMPRESSOR_OPT)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_BLOCK_SIZE),$(hide) echo "product_services_squashfs_block_size=$(BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_BLOCK_SIZE)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_DISABLE_4K_ALIGN),$(hide) echo "product_services_squashfs_disable_4k_align=$(BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_DISABLE_4K_ALIGN)" >> $(1)) - $(if $(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_RESERVED_SIZE),$(hide) echo "product_services_reserved_size=$(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_RESERVED_SIZE)" >> $(1)) - $(hide) echo "product_services_selinux_fc=$(SELINUX_FC)" >> $(1) +$(if $(filter $(2),system_ext),\ + $(if $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "system_ext_fs_type=$(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_EXTFS_INODE_COUNT),$(hide) echo "system_ext_extfs_inode_count=$(BOARD_SYSTEM_EXTIMAGE_EXTFS_INODE_COUNT)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_EXTFS_RSV_PCT),$(hide) echo "system_ext_extfs_rsv_pct=$(BOARD_SYSTEM_EXTIMAGE_EXTFS_RSV_PCT)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_PARTITION_SIZE),$(hide) echo "system_ext_size=$(BOARD_SYSTEM_EXTIMAGE_PARTITION_SIZE)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_JOURNAL_SIZE),$(hide) echo "system_ext_journal_size=$(BOARD_SYSTEM_EXTIMAGE_JOURNAL_SIZE)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_SQUASHFS_COMPRESSOR),$(hide) echo "system_ext_squashfs_compressor=$(BOARD_SYSTEM_EXTIMAGE_SQUASHFS_COMPRESSOR)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_SQUASHFS_COMPRESSOR_OPT),$(hide) echo "system_ext_squashfs_compressor_opt=$(BOARD_SYSTEM_EXTIMAGE_SQUASHFS_COMPRESSOR_OPT)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_SQUASHFS_BLOCK_SIZE),$(hide) echo "system_ext_squashfs_block_size=$(BOARD_SYSTEM_EXTIMAGE_SQUASHFS_BLOCK_SIZE)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_SQUASHFS_DISABLE_4K_ALIGN),$(hide) echo "system_ext_squashfs_disable_4k_align=$(BOARD_SYSTEM_EXTIMAGE_SQUASHFS_DISABLE_4K_ALIGN)" >> $(1)) + $(if $(BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE),$(hide) echo "system_ext_reserved_size=$(BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE)" >> $(1)) + $(hide) echo "system_ext_selinux_fc=$(SELINUX_FC)" >> $(1) ) $(if $(filter $(2),odm),\ $(if $(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "odm_fs_type=$(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE)" >> $(1)) @@ -1528,7 +1516,7 @@ $(if $(filter eng, $(TARGET_BUILD_VARIANT)),$(hide) echo "verity_disable=true" > $(if $(PRODUCT_SYSTEM_VERITY_PARTITION),$(hide) echo "system_verity_block_device=$(PRODUCT_SYSTEM_VERITY_PARTITION)" >> $(1)) $(if $(PRODUCT_VENDOR_VERITY_PARTITION),$(hide) echo "vendor_verity_block_device=$(PRODUCT_VENDOR_VERITY_PARTITION)" >> $(1)) $(if $(PRODUCT_PRODUCT_VERITY_PARTITION),$(hide) echo "product_verity_block_device=$(PRODUCT_PRODUCT_VERITY_PARTITION)" >> $(1)) -$(if $(PRODUCT_PRODUCT_SERVICES_VERITY_PARTITION),$(hide) echo "product_services_verity_block_device=$(PRODUCT_PRODUCT_SERVICES_VERITY_PARTITION)" >> $(1)) +$(if $(PRODUCT_SYSTEM_EXT_VERITY_PARTITION),$(hide) echo "system_ext_verity_block_device=$(PRODUCT_SYSTEM_EXT_VERITY_PARTITION)" >> $(1)) $(if $(PRODUCT_SUPPORTS_VBOOT),$(hide) echo "vboot=$(PRODUCT_SUPPORTS_VBOOT)" >> $(1)) $(if $(PRODUCT_SUPPORTS_VBOOT),$(hide) echo "vboot_key=$(PRODUCT_VBOOT_SIGNING_KEY)" >> $(1)) $(if $(PRODUCT_SUPPORTS_VBOOT),$(hide) echo "vboot_subkey=$(PRODUCT_VBOOT_SIGNING_SUBKEY)" >> $(1)) @@ -1562,14 +1550,14 @@ $(if $(BOARD_AVB_ENABLE),\ $(hide) echo "avb_product_key_path=$(BOARD_AVB_PRODUCT_KEY_PATH)" >> $(1) $(hide) echo "avb_product_algorithm=$(BOARD_AVB_PRODUCT_ALGORITHM)" >> $(1) $(hide) echo "avb_product_rollback_index_location=$(BOARD_AVB_PRODUCT_ROLLBACK_INDEX_LOCATION)" >> $(1))) -$(if $(BOARD_AVB_ENABLE),$(hide) echo "avb_product_services_hashtree_enable=$(BOARD_AVB_ENABLE)" >> $(1)) +$(if $(BOARD_AVB_ENABLE),$(hide) echo "avb_system_ext_hashtree_enable=$(BOARD_AVB_ENABLE)" >> $(1)) $(if $(BOARD_AVB_ENABLE),\ - $(hide) echo "avb_product_services_add_hashtree_footer_args=$(BOARD_AVB_PRODUCT_SERVICES_ADD_HASHTREE_FOOTER_ARGS)" >> $(1)) + $(hide) echo "avb_system_ext_add_hashtree_footer_args=$(BOARD_AVB_SYSTEM_EXT_ADD_HASHTREE_FOOTER_ARGS)" >> $(1)) $(if $(BOARD_AVB_ENABLE),\ - $(if $(BOARD_AVB_PRODUCT_SERVICES_KEY_PATH),\ - $(hide) echo "avb_product_services_key_path=$(BOARD_AVB_PRODUCT_SERVICES_KEY_PATH)" >> $(1) - $(hide) echo "avb_product_services_algorithm=$(BOARD_AVB_PRODUCT_SERVICES_ALGORITHM)" >> $(1) - $(hide) echo "avb_product_services_rollback_index_location=$(BOARD_AVB_PRODUCT_SERVICES_ROLLBACK_INDEX_LOCATION)" >> $(1))) + $(if $(BOARD_AVB_SYSTEM_EXT_KEY_PATH),\ + $(hide) echo "avb_system_ext_key_path=$(BOARD_AVB_SYSTEM_EXT_KEY_PATH)" >> $(1) + $(hide) echo "avb_system_ext_algorithm=$(BOARD_AVB_SYSTEM_EXT_ALGORITHM)" >> $(1) + $(hide) echo "avb_system_ext_rollback_index_location=$(BOARD_AVB_SYSTEM_EXT_ROLLBACK_INDEX_LOCATION)" >> $(1))) $(if $(BOARD_AVB_ENABLE),$(hide) echo "avb_odm_hashtree_enable=$(BOARD_AVB_ENABLE)" >> $(1)) $(if $(BOARD_AVB_ENABLE),$(hide) echo "avb_odm_add_hashtree_footer_args=$(BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS)" >> $(1)) $(if $(BOARD_AVB_ENABLE),\ @@ -1604,8 +1592,8 @@ endif ifdef BUILDING_PRODUCT_IMAGE PROP_DICTIONARY_IMAGES += product endif -ifdef BUILDING_PRODUCT_SERVICES_IMAGE - PROP_DICTIONARY_IMAGES += product_services +ifdef BUILDING_SYSTEM_EXT_IMAGE + PROP_DICTIONARY_IMAGES += system_ext endif ifdef BUILDING_ODM_IMAGE PROP_DICTIONARY_IMAGES += odm @@ -1881,7 +1869,7 @@ $(INSTALLED_RECOVERY_BUILD_PROP_TARGET): \ $(INSTALLED_VENDOR_BUILD_PROP_TARGET) \ $(INSTALLED_ODM_BUILD_PROP_TARGET) \ $(INSTALLED_PRODUCT_BUILD_PROP_TARGET) \ - $(INSTALLED_PRODUCT_SERVICES_BUILD_PROP_TARGET) + $(INSTALLED_SYSTEM_EXT_BUILD_PROP_TARGET) @echo "Target recovery buildinfo: $@" $(hide) mkdir -p $(dir $@) $(hide) rm -f $@ @@ -1891,7 +1879,7 @@ $(INSTALLED_RECOVERY_BUILD_PROP_TARGET): \ $(hide) cat $(INSTALLED_VENDOR_BUILD_PROP_TARGET) >> $@ $(hide) cat $(INSTALLED_ODM_BUILD_PROP_TARGET) >> $@ $(hide) cat $(INSTALLED_PRODUCT_BUILD_PROP_TARGET) >> $@ - $(hide) cat $(INSTALLED_PRODUCT_SERVICES_BUILD_PROP_TARGET) >> $@ + $(hide) cat $(INSTALLED_SYSTEM_EXT_BUILD_PROP_TARGET) >> $@ $(call append-recovery-ui-properties,$(PRIVATE_RECOVERY_UI_PROPERTIES),$@) INTERNAL_RECOVERYIMAGE_ARGS := \ @@ -2275,18 +2263,18 @@ define create-system-product-symlink endef endif -# Create symlink /system/product_services to /product_services if necessary. -ifdef BOARD_USES_PRODUCT_SERVICESIMAGE -define create-system-product_services-symlink -$(hide) if [ -d $(TARGET_OUT)/product_services ] && [ ! -h $(TARGET_OUT)/product_services ]; then \ - echo 'Non-symlink $(TARGET_OUT)/product_services detected!' 1>&2; \ - echo 'You cannot install files to $(TARGET_OUT)/product_services while building a separate product_services.img!' 1>&2; \ +# Create symlink /system/system_ext to /system_ext if necessary. +ifdef BOARD_USES_SYSTEM_EXTIMAGE +define create-system-system_ext-symlink +$(hide) if [ -d $(TARGET_OUT)/system_ext ] && [ ! -h $(TARGET_OUT)/system_ext ]; then \ + echo 'Non-symlink $(TARGET_OUT)/system_ext detected!' 1>&2; \ + echo 'You cannot install files to $(TARGET_OUT)/system_ext while building a separate system_ext.img!' 1>&2; \ exit 1; \ fi -$(hide) ln -sf /product_services $(TARGET_OUT)/product_services +$(hide) ln -sf /system_ext $(TARGET_OUT)/system_ext endef else -define create-system-product_services-symlink +define create-system-system_ext-symlink endef endif @@ -2295,7 +2283,7 @@ define build-systemimage-target @echo "Target system fs image: $(1)" $(call create-system-vendor-symlink) $(call create-system-product-symlink) - $(call create-system-product_services-symlink) + $(call create-system-system_ext-symlink) $(call check-apex-libs-absence-on-disk) @mkdir -p $(dir $(1)) $(systemimage_intermediates) && rm -rf $(systemimage_intermediates)/system_image_info.txt $(call generate-image-prop-dictionary, $(systemimage_intermediates)/system_image_info.txt,system, \ @@ -2380,7 +2368,7 @@ define build-systemtarball-target $(call pretty,"Target system fs tarball: $(INSTALLED_SYSTEMTARBALL_TARGET)") $(call create-system-vendor-symlink) $(call create-system-product-symlink) - $(call create-system-product_services-symlink) + $(call create-system-system_ext-symlink) $(MKTARBALL) $(FS_GET_STATS) \ $(PRODUCT_OUT) system $(PRIVATE_SYSTEM_TAR) \ $(INSTALLED_SYSTEMTARBALL_TARGET) $(TARGET_OUT) @@ -2467,8 +2455,8 @@ endif ifdef BUILDING_PRODUCT_IMAGE echo "-D $(TARGET_OUT_PRODUCT)" >> $@.lst endif -ifdef BUILDING_PRODUCT_SERVICES_IMAGE - echo "-D $(TARGET_OUT_PRODUCT_SERVICES)" >> $@.lst +ifdef BUILDING_SYSTEM_EXT_IMAGE + echo "-D $(TARGET_OUT_SYSTEM_EXT)" >> $@.lst endif ifdef BUILDING_ODM_IMAGE echo "-D $(TARGET_OUT_ODM)" >> $@.lst @@ -3002,55 +2990,55 @@ check_framework_manifest := endif # BUILDING_SYSTEM_IMAGE # ----------------------------------------------------------------- -# product_services partition image -ifdef BUILDING_PRODUCT_SERVICES_IMAGE -INTERNAL_PRODUCT_SERVICESIMAGE_FILES := \ - $(filter $(TARGET_OUT_PRODUCT_SERVICES)/%,\ +# system_ext partition image +ifdef BUILDING_SYSTEM_EXT_IMAGE +INTERNAL_SYSTEM_EXTIMAGE_FILES := \ + $(filter $(TARGET_OUT_SYSTEM_EXT)/%,\ $(ALL_DEFAULT_INSTALLED_MODULES)\ $(ALL_PDK_FUSION_FILES)) \ $(PDK_FUSION_SYMLINK_STAMP) -# platform.zip depends on $(INTERNAL_PRODUCT_SERVICESIMAGE_FILES). -$(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_PRODUCT_SERVICESIMAGE_FILES) +# platform.zip depends on $(INTERNAL_SYSTEM_EXTIMAGE_FILES). +$(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEM_EXTIMAGE_FILES) -INSTALLED_FILES_FILE_PRODUCT_SERVICES := $(PRODUCT_OUT)/installed-files-product_services.txt -INSTALLED_FILES_JSON_PRODUCT_SERVICES := $(INSTALLED_FILES_FILE_PRODUCT_SERVICES:.txt=.json) -$(INSTALLED_FILES_FILE_PRODUCT_SERVICES): .KATI_IMPLICIT_OUTPUTS := $(INSTALLED_FILES_JSON_PRODUCT_SERVICES) -$(INSTALLED_FILES_FILE_PRODUCT_SERVICES) : $(INTERNAL_PRODUCT_SERVICESIMAGE_FILES) $(FILESLIST) $(FILESLIST_UTIL) +INSTALLED_FILES_FILE_SYSTEM_EXT := $(PRODUCT_OUT)/installed-files-system_ext.txt +INSTALLED_FILES_JSON_SYSTEM_EXT := $(INSTALLED_FILES_FILE_SYSTEM_EXT:.txt=.json) +$(INSTALLED_FILES_FILE_SYSTEM_EXT): .KATI_IMPLICIT_OUTPUTS := $(INSTALLED_FILES_JSON_SYSTEM_EXT) +$(INSTALLED_FILES_FILE_SYSTEM_EXT) : $(INTERNAL_SYSTEM_EXTIMAGE_FILES) $(FILESLIST) $(FILESLIST_UTIL) @echo Installed file list: $@ @mkdir -p $(dir $@) @rm -f $@ - $(hide) $(FILESLIST) $(TARGET_OUT_PRODUCT_SERVICES) > $(@:.txt=.json) + $(hide) $(FILESLIST) $(TARGET_OUT_SYSTEM_EXT) > $(@:.txt=.json) $(hide) $(FILESLIST_UTIL) -c $(@:.txt=.json) > $@ -product_servicesimage_intermediates := \ - $(call intermediates-dir-for,PACKAGING,product_services) -BUILT_PRODUCT_SERVICESIMAGE_TARGET := $(PRODUCT_OUT)/product_services.img -define build-product_servicesimage-target - $(call pretty,"Target product_services fs image: $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET)") - @mkdir -p $(TARGET_OUT_PRODUCT_SERVICES) - @mkdir -p $(product_servicesimage_intermediates) && rm -rf $(product_servicesimage_intermediates)/product_services_image_info.txt - $(call generate-image-prop-dictionary, $(product_servicesimage_intermediates)/product_services_image_info.txt,product_services, skip_fsck=true) +system_extimage_intermediates := \ + $(call intermediates-dir-for,PACKAGING,system_ext) +BUILT_SYSTEM_EXTIMAGE_TARGET := $(PRODUCT_OUT)/system_ext.img +define build-system_extimage-target + $(call pretty,"Target system_ext fs image: $(INSTALLED_SYSTEM_EXTIMAGE_TARGET)") + @mkdir -p $(TARGET_OUT_SYSTEM_EXT) + @mkdir -p $(system_extimage_intermediates) && rm -rf $(system_extimage_intermediates)/system_ext_image_info.txt + $(call generate-image-prop-dictionary, $(system_extimage_intermediates)/system_ext_image_info.txt,system_ext, skip_fsck=true) PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \ ./build/tools/releasetools/build_image.py \ - $(TARGET_OUT_PRODUCT_SERVICES) $(product_servicesimage_intermediates)/product_services_image_info.txt $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) $(TARGET_OUT) - $(hide) $(call assert-max-image-size,$(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET),$(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE)) + $(TARGET_OUT_SYSTEM_EXT) $(system_extimage_intermediates)/system_ext_image_info.txt $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) $(TARGET_OUT) + $(hide) $(call assert-max-image-size,$(INSTALLED_SYSTEM_EXTIMAGE_TARGET),$(BOARD_SYSTEM_EXTIMAGE_PARTITION_SIZE)) endef # We just build this directly to the install location. -INSTALLED_PRODUCT_SERVICESIMAGE_TARGET := $(BUILT_PRODUCT_SERVICESIMAGE_TARGET) -$(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_PRODUCT_SERVICESIMAGE_FILES) $(INSTALLED_FILES_FILE_PRODUCT_SERVICES) $(BUILD_IMAGE_SRCS) - $(build-product_servicesimage-target) +INSTALLED_SYSTEM_EXTIMAGE_TARGET := $(BUILT_SYSTEM_EXTIMAGE_TARGET) +$(INSTALLED_SYSTEM_EXTIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_SYSTEM_EXTIMAGE_FILES) $(INSTALLED_FILES_FILE_SYSTEM_EXT) $(BUILD_IMAGE_SRCS) + $(build-system_extimage-target) -.PHONY: productservicesimage-nodeps psnod -productservicesimage-nodeps psnod: | $(INTERNAL_USERIMAGES_DEPS) - $(build-product_servicesimage-target) +.PHONY: systemextimage-nodeps senod +systemextimage-nodeps senod: | $(INTERNAL_USERIMAGES_DEPS) + $(build-system_extimage-target) -sync: $(INTERNAL_PRODUCT_SERVICESIMAGE_FILES) +sync: $(INTERNAL_SYSTEM_EXTIMAGE_FILES) -else ifdef BOARD_PREBUILT_PRODUCT_SERVICESIMAGE -INSTALLED_PRODUCT_SERVICESIMAGE_TARGET := $(PRODUCT_OUT)/product_services.img -$(eval $(call copy-one-file,$(BOARD_PREBUILT_PRODUCT_SERVICESIMAGE),$(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET))) +else ifdef BOARD_PREBUILT_SYSTEM_EXTIMAGE +INSTALLED_SYSTEM_EXTIMAGE_TARGET := $(PRODUCT_OUT)/system_ext.img +$(eval $(call copy-one-file,$(BOARD_PREBUILT_SYSTEM_EXTIMAGE),$(INSTALLED_SYSTEM_EXTIMAGE_TARGET))) endif # ----------------------------------------------------------------- @@ -3127,7 +3115,7 @@ endif # BOARD_PREBUILT_DTBOIMAGE # Returns a list of image targets corresponding to the given list of partitions. For example, it # returns "$(INSTALLED_PRODUCTIMAGE_TARGET)" for "product", or "$(INSTALLED_SYSTEMIMAGE_TARGET) # $(INSTALLED_VENDORIMAGE_TARGET)" for "system vendor". -# (1): list of partitions like "system", "vendor" or "system product product_services". +# (1): list of partitions like "system", "vendor" or "system product system_ext". define images-for-partitions $(strip $(foreach item,$(1),$(INSTALLED_$(call to-upper,$(item))IMAGE_TARGET))) endef @@ -3189,9 +3177,9 @@ BOARD_AVB_PRODUCT_ADD_HASHTREE_FOOTER_ARGS += \ --prop com.android.build.product.os_version:$(PLATFORM_VERSION) \ --prop com.android.build.product.security_patch:$(PLATFORM_SECURITY_PATCH) -BOARD_AVB_PRODUCT_SERVICES_ADD_HASHTREE_FOOTER_ARGS += \ - --prop com.android.build.product_services.os_version:$(PLATFORM_VERSION) \ - --prop com.android.build.product_services.security_patch:$(PLATFORM_SECURITY_PATCH) +BOARD_AVB_SYSTEM_EXT_ADD_HASHTREE_FOOTER_ARGS += \ + --prop com.android.build.system_ext.os_version:$(PLATFORM_VERSION) \ + --prop com.android.build.system_ext.security_patch:$(PLATFORM_SECURITY_PATCH) BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS += \ --prop com.android.build.boot.os_version:$(PLATFORM_VERSION) @@ -3224,7 +3212,7 @@ SYSTEM_FOOTER_ARGS := BOARD_AVB_SYSTEM_ADD_HASHTREE_FOOTER_ARGS VENDOR_FOOTER_ARGS := BOARD_AVB_VENDOR_ADD_HASHTREE_FOOTER_ARGS RECOVERY_FOOTER_ARGS := BOARD_AVB_RECOVERY_ADD_HASH_FOOTER_ARGS PRODUCT_FOOTER_ARGS := BOARD_AVB_PRODUCT_ADD_HASHTREE_FOOTER_ARGS -PRODUCT_SERVICES_FOOTER_ARGS := BOARD_AVB_PRODUCT_SERVICES_ADD_HASHTREE_FOOTER_ARGS +SYSTEM_EXT_FOOTER_ARGS := BOARD_AVB_SYSTEM_EXT_ADD_HASHTREE_FOOTER_ARGS ODM_FOOTER_ARGS := BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS # Helper function that checks and sets required build variables for an AVB chained partition. @@ -3287,8 +3275,8 @@ ifdef INSTALLED_PRODUCTIMAGE_TARGET $(eval $(call check-and-set-avb-args,product)) endif -ifdef INSTALLED_PRODUCT_SERVICESIMAGE_TARGET -$(eval $(call check-and-set-avb-args,product_services)) +ifdef INSTALLED_SYSTEM_EXTIMAGE_TARGET +$(eval $(call check-and-set-avb-args,system_ext)) endif ifdef INSTALLED_ODMIMAGE_TARGET @@ -3361,9 +3349,9 @@ define extract-avb-chain-public-keys $(if $(BOARD_AVB_PRODUCT_KEY_PATH),\ $(hide) $(AVBTOOL) extract_public_key --key $(BOARD_AVB_PRODUCT_KEY_PATH) \ --output $(1)/product.avbpubkey) - $(if $(BOARD_AVB_PRODUCT_SERVICES_KEY_PATH),\ - $(hide) $(AVBTOOL) extract_public_key --key $(BOARD_AVB_PRODUCT_SERVICES_KEY_PATH) \ - --output $(1)/product_services.avbpubkey) + $(if $(BOARD_AVB_SYSTEM_EXT_KEY_PATH),\ + $(hide) $(AVBTOOL) extract_public_key --key $(BOARD_AVB_SYSTEM_EXT_KEY_PATH) \ + --output $(1)/system_ext.avbpubkey) $(if $(BOARD_AVB_ODM_KEY_PATH),\ $(hide) $(AVBTOOL) extract_public_key --key $(BOARD_AVB_ODM_KEY_PATH) \ --output $(1)/odm.avbpubkey) @@ -3384,8 +3372,8 @@ endef # Builds a chained VBMeta image. This VBMeta image will contain the descriptors for the partitions # specified in BOARD_AVB_VBMETA_. The built VBMeta image will be included into the top-level # vbmeta image as a chained partition. For example, if a target defines `BOARD_AVB_VBMETA_SYSTEM -# := system product_services`, `vbmeta_system.img` will be created that includes the descriptors -# for `system.img` and `product_services.img`. `vbmeta_system.img` itself will be included into +# := system system_ext`, `vbmeta_system.img` will be created that includes the descriptors for +# `system.img` and `system_ext.img`. `vbmeta_system.img` itself will be included into # `vbmeta.img` as a chained partition. # $(1): VBMeta image name, such as "vbmeta_system", "vbmeta_vendor" etc. # $(2): Output filename. @@ -3441,7 +3429,7 @@ $(INSTALLED_VBMETAIMAGE_TARGET): \ $(INSTALLED_SYSTEMIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) \ + $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ $(INSTALLED_ODMIMAGE_TARGET) \ $(INSTALLED_DTBOIMAGE_TARGET) \ $(INSTALLED_RECOVERYIMAGE_TARGET) \ @@ -3466,7 +3454,7 @@ ifeq (,$(TARGET_BUILD_APPS)) ifeq (true,$(PRODUCT_BUILD_SUPER_PARTITION)) -# (1): list of items like "system", "vendor", "product", "product_services" +# (1): list of items like "system", "vendor", "product", "system_ext" # return: map each item into a command ( wrapped in $$() ) that reads the size define read-size-of-partitions $(foreach image,$(call images-for-partitions,$(1)),$$( \ @@ -3895,7 +3883,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(INSTALLED_CACHEIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) \ + $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ $(INSTALLED_VBMETAIMAGE_TARGET) \ $(INSTALLED_ODMIMAGE_TARGET) \ $(INSTALLED_DTBOIMAGE_TARGET) \ @@ -3910,7 +3898,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(PRODUCT_SYSTEM_BASE_FS_PATH) \ $(PRODUCT_VENDOR_BASE_FS_PATH) \ $(PRODUCT_PRODUCT_BASE_FS_PATH) \ - $(PRODUCT_PRODUCT_SERVICES_BASE_FS_PATH) \ + $(PRODUCT_SYSTEM_EXT_BASE_FS_PATH) \ $(PRODUCT_ODM_BASE_FS_PATH) \ $(LPMAKE) \ $(SELINUX_FC) \ @@ -3930,7 +3918,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ @echo "Package target files: $@" $(call create-system-vendor-symlink) $(call create-system-product-symlink) - $(call create-system-product_services-symlink) + $(call create-system-system_ext-symlink) $(call create-vendor-odm-symlink) $(hide) rm -rf $@ $@.list $(zip_root) $(hide) mkdir -p $(dir $@) $(zip_root) @@ -4021,10 +4009,10 @@ ifdef BUILDING_PRODUCT_IMAGE $(hide) $(call package_files-copy-root, \ $(TARGET_OUT_PRODUCT),$(zip_root)/PRODUCT) endif -ifdef BUILDING_PRODUCT_SERVICES_IMAGE - @# Contents of the product_services image +ifdef BUILDING_SYSTEM_EXT_IMAGE + @# Contents of the system_ext image $(hide) $(call package_files-copy-root, \ - $(TARGET_OUT_PRODUCT_SERVICES),$(zip_root)/PRODUCT_SERVICES) + $(TARGET_OUT_SYSTEM_EXT),$(zip_root)/SYSTEM_EXT) endif ifdef BUILDING_ODM_IMAGE @# Contents of the odm image @@ -4112,9 +4100,9 @@ ifneq ($(PRODUCT_PRODUCT_BASE_FS_PATH),) $(hide) cp $(PRODUCT_PRODUCT_BASE_FS_PATH) \ $(zip_root)/META/$(notdir $(PRODUCT_PRODUCT_BASE_FS_PATH)) endif -ifneq ($(PRODUCT_PRODUCT_SERVICES_BASE_FS_PATH),) - $(hide) cp $(PRODUCT_PRODUCT_SERVICES_BASE_FS_PATH) \ - $(zip_root)/META/$(notdir $(PRODUCT_PRODUCT_SERVICES_BASE_FS_PATH)) +ifneq ($(PRODUCT_SYSTEM_EXT_BASE_FS_PATH),) + $(hide) cp $(PRODUCT_SYSTEM_EXT_BASE_FS_PATH) \ + $(zip_root)/META/$(notdir $(PRODUCT_SYSTEM_EXT_BASE_FS_PATH)) endif ifneq ($(PRODUCT_ODM_BASE_FS_PATH),) $(hide) cp $(PRODUCT_ODM_BASE_FS_PATH) \ @@ -4204,9 +4192,9 @@ ifdef BOARD_PREBUILT_PRODUCTIMAGE $(hide) mkdir -p $(zip_root)/IMAGES $(hide) cp $(INSTALLED_PRODUCTIMAGE_TARGET) $(zip_root)/IMAGES/ endif -ifdef BOARD_PREBUILT_PRODUCT_SERVICESIMAGE +ifdef BOARD_PREBUILT_SYSTEM_EXTIMAGE $(hide) mkdir -p $(zip_root)/IMAGES - $(hide) cp $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) $(zip_root)/IMAGES/ + $(hide) cp $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) $(zip_root)/IMAGES/ endif ifdef BOARD_PREBUILT_BOOTIMAGE $(hide) mkdir -p $(zip_root)/IMAGES @@ -4248,8 +4236,8 @@ endif ifdef BUILDING_PRODUCT_IMAGE $(hide) $(call fs_config,$(zip_root)/PRODUCT,product/) > $(zip_root)/META/product_filesystem_config.txt endif -ifdef BUILDING_PRODUCT_SERVICES_IMAGE - $(hide) $(call fs_config,$(zip_root)/PRODUCT_SERVICES,product_services/) > $(zip_root)/META/product_services_filesystem_config.txt +ifdef BUILDING_SYSTEM_EXT_IMAGE + $(hide) $(call fs_config,$(zip_root)/SYSTEM_EXT,system_ext/) > $(zip_root)/META/system_ext_filesystem_config.txt endif ifdef BUILDING_ODM_IMAGE $(hide) $(call fs_config,$(zip_root)/ODM,odm/) > $(zip_root)/META/odm_filesystem_config.txt @@ -4404,7 +4392,7 @@ $(APPCOMPAT_ZIP): $(INSTALLED_SYSTEMIMAGE_TARGET) \ $(INSTALLED_USERDATAIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) + $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) endif $(APPCOMPAT_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,appcompat)/filelist $(APPCOMPAT_ZIP): $(SOONG_ZIP) @@ -4433,7 +4421,7 @@ $(SYMBOLS_ZIP): $(INSTALLED_SYSTEMIMAGE_TARGET) \ $(INSTALLED_USERDATAIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) \ + $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ $(INSTALLED_ODMIMAGE_TARGET) \ $(updater_dep) endif @@ -4459,7 +4447,7 @@ $(COVERAGE_ZIP): $(INSTALLED_SYSTEMIMAGE_TARGET) \ $(INSTALLED_USERDATAIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) \ + $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ $(INSTALLED_ODMIMAGE_TARGET) endif $(COVERAGE_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,coverage)/filelist @@ -4743,14 +4731,14 @@ $(INSTALLED_QEMU_PRODUCTIMAGE): $(INSTALLED_PRODUCTIMAGE_TARGET) $(MK_QEMU_IMAGE productimage: $(INSTALLED_QEMU_PRODUCTIMAGE) droidcore: $(INSTALLED_QEMU_PRODUCTIMAGE) endif -ifdef INSTALLED_PRODUCT_SERVICESIMAGE_TARGET -INSTALLED_QEMU_PRODUCT_SERVICESIMAGE := $(PRODUCT_OUT)/product_services-qemu.img -$(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE): $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) $(SIMG2IMG) - @echo Create product_services-qemu.img - (export SGDISK=$(SGDISK_HOST) SIMG2IMG=$(SIMG2IMG); $(MK_QEMU_IMAGE_SH) $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET)) +ifdef INSTALLED_SYSTEM_EXTIMAGE_TARGET +INSTALLED_QEMU_SYSTEM_EXTIMAGE := $(PRODUCT_OUT)/system_ext-qemu.img +$(INSTALLED_QEMU_SYSTEM_EXTIMAGE): $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) $(SIMG2IMG) + @echo Create system_ext-qemu.img + (export SGDISK=$(SGDISK_HOST) SIMG2IMG=$(SIMG2IMG); $(MK_QEMU_IMAGE_SH) $(INSTALLED_SYSTEM_EXTIMAGE_TARGET)) -productservicesimage: $(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE) -droidcore: $(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE) +systemextimage: $(INSTALLED_QEMU_SYSTEM_EXTIMAGE) +droidcore: $(INSTALLED_QEMU_SYSTEM_EXTIMAGE) endif ifdef INSTALLED_ODMIMAGE_TARGET INSTALLED_QEMU_ODMIMAGE := $(PRODUCT_OUT)/odm-qemu.img diff --git a/core/app_prebuilt_internal.mk b/core/app_prebuilt_internal.mk index 69f411ce75..399d173bf0 100644 --- a/core/app_prebuilt_internal.mk +++ b/core/app_prebuilt_internal.mk @@ -41,7 +41,7 @@ endif # LOCAL_COMPRESSED_MODULE include $(BUILD_SYSTEM)/base_rules.mk built_module := $(LOCAL_BUILT_MODULE) -# Run veridex on product, product_services and vendor modules. +# Run veridex on product, system_ext and vendor modules. # We skip it for unbundled app builds where we cannot build veridex. module_run_appcompat := ifeq (true,$(non_system_module)) diff --git a/core/base_rules.mk b/core/base_rules.mk index f1c5443274..4a0c15baf3 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -81,11 +81,17 @@ else ifneq ($(filter $(TARGET_OUT_ODM)/%,$(_path)),) LOCAL_ODM_MODULE := true else ifneq ($(filter $(TARGET_OUT_PRODUCT)/%,$(_path)),) LOCAL_PRODUCT_MODULE := true -else ifneq ($(filter $(TARGET_OUT_PRODUCT_SERVICES)/%,$(_path)),) -LOCAL_PRODUCT_SERVICES_MODULE := true +else ifneq ($(filter $(TARGET_OUT_SYSTEM_EXT)/%,$(_path)),) +LOCAL_SYSTEM_EXT_MODULE := true endif _path := +# TODO(b/135957588) Remove following workaround +# LOCAL_PRODUCT_SERVICES_MODULE to LOCAL_PRODUCT_MODULE for all Android.mk +ifndef LOCAL_PRODUCT_MODULE +LOCAL_PRODUCT_MODULE := $(LOCAL_PRODUCT_SERVICES_MODULE) +endif + ifndef LOCAL_PROPRIETARY_MODULE LOCAL_PROPRIETARY_MODULE := $(LOCAL_VENDOR_MODULE) endif @@ -98,7 +104,7 @@ endif non_system_module := $(filter true, \ $(LOCAL_PRODUCT_MODULE) \ - $(LOCAL_PRODUCT_SERVICES_MODULE) \ + $(LOCAL_SYSTEM_EXT_MODULE) \ $(LOCAL_VENDOR_MODULE) \ $(LOCAL_PROPRIETARY_MODULE)) @@ -227,8 +233,8 @@ else ifeq (true,$(strip $(LOCAL_ODM_MODULE))) partition_tag := _ODM else ifeq (true,$(strip $(LOCAL_PRODUCT_MODULE))) partition_tag := _PRODUCT -else ifeq (true,$(strip $(LOCAL_PRODUCT_SERVICES_MODULE))) - partition_tag := _PRODUCT_SERVICES +else ifeq (true,$(strip $(LOCAL_SYSTEM_EXT_MODULE))) + partition_tag := _SYSTEM_EXT else ifeq (NATIVE_TESTS,$(LOCAL_MODULE_CLASS)) partition_tag := _DATA else diff --git a/core/board_config.mk b/core/board_config.mk index 9c9e8b18c7..f7dc557dcd 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -67,8 +67,8 @@ _board_strip_readonly_list += \ BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE \ BOARD_PRODUCTIMAGE_PARTITION_SIZE \ BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE \ - BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE \ - BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE \ + BOARD_SYSTEM_EXTIMAGE_PARTITION_SIZE \ + BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE \ BOARD_ODMIMAGE_PARTITION_SIZE \ BOARD_ODMIMAGE_FILE_SYSTEM_TYPE \ @@ -78,7 +78,7 @@ _dynamic_partitions_var_list += \ BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE \ BOARD_ODMIMAGE_PARTITION_RESERVED_SIZE \ BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE \ - BOARD_PRODUCT_SERVICESIMAGE_PARTITION_RESERVED_SIZE \ + BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE \ BOARD_SUPER_PARTITION_SIZE \ BOARD_SUPER_PARTITION_GROUPS \ @@ -413,48 +413,48 @@ endif .KATI_READONLY := BUILDING_PRODUCT_IMAGE ########################################### -# Now we can substitute with the real value of TARGET_COPY_OUT_PRODUCT_SERVICES -MERGE_PRODUCT_SERVICES_INTO_PRODUCT := -ifeq ($(TARGET_COPY_OUT_PRODUCT_SERVICES),$(_product_services_path_placeholder)) - TARGET_COPY_OUT_PRODUCT_SERVICES := $(TARGET_COPY_OUT_PRODUCT) - MERGE_PRODUCT_SERVICES_INTO_PRODUCT := true -else ifeq ($(TARGET_COPY_OUT_PRODUCT),$(TARGET_COPY_OUT_PRODUCT_SERVICES)) - MERGE_PRODUCT_SERVICES_INTO_PRODUCT := true -else ifeq ($(filter product_services system/product_services,$(TARGET_COPY_OUT_PRODUCT_SERVICES)),) - $(error TARGET_COPY_OUT_PRODUCT_SERVICES must be either 'product_services',\ - '$(TARGET_COPY_OUT_PRODUCT)' or 'system/product_services', seeing '$(TARGET_COPY_OUT_PRODUCT_SERVICES)'.) -endif -.KATI_READONLY := MERGE_PRODUCT_SERVICES_INTO_PRODUCT -PRODUCT_COPY_FILES := $(subst $(_product_services_path_placeholder),$(TARGET_COPY_OUT_PRODUCT_SERVICES),$(PRODUCT_COPY_FILES)) +# TODO(b/135957588) TARGET_COPY_OUT_PRODUCT_SERVICES will be set to +# TARGET_COPY_OUT_PRODUCT as a workaround. +TARGET_COPY_OUT_PRODUCT_SERVICES := $(TARGET_COPY_OUT_PRODUCT) -BOARD_USES_PRODUCT_SERVICESIMAGE := -ifdef BOARD_PREBUILT_PRODUCT_SERVICESIMAGE - BOARD_USES_PRODUCT_SERVICESIMAGE := true -endif -ifdef BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE - BOARD_USES_PRODUCT_SERVICESIMAGE := true -endif -ifeq ($(TARGET_COPY_OUT_PRODUCT_SERVICES),product_services) - BOARD_USES_PRODUCT_SERVICESIMAGE := true -else ifdef BOARD_USES_PRODUCT_SERVICESIMAGE - $(error TARGET_COPY_OUT_PRODUCT_SERVICES must be set to 'product_services' to use a product_services image) +########################################### +# Now we can substitute with the real value of TARGET_COPY_OUT_SYSTEM_EXT +ifeq ($(TARGET_COPY_OUT_SYSTEM_EXT),$(_system_ext_path_placeholder)) +TARGET_COPY_OUT_SYSTEM_EXT := system/system_ext +else ifeq ($(filter system_ext system/system_ext,$(TARGET_COPY_OUT_SYSTEM_EXT)),) +$(error TARGET_COPY_OUT_SYSTEM_EXT must be either 'system_ext' or 'system/system_ext', seeing '$(TARGET_COPY_OUT_SYSTEM_EXT)'.) endif +PRODUCT_COPY_FILES := $(subst $(_system_ext_path_placeholder),$(TARGET_COPY_OUT_SYSTEM_EXT),$(PRODUCT_COPY_FILES)) -BUILDING_PRODUCT_SERVICES_IMAGE := -ifeq ($(PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE),) - ifdef BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE - BUILDING_PRODUCT_SERVICES_IMAGE := true +BOARD_USES_SYSTEM_EXTIMAGE := +ifdef BOARD_PREBUILT_SYSTEM_EXTIMAGE + BOARD_USES_SYSTEM_EXTIMAGE := true +endif +ifdef BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE + BOARD_USES_SYSTEM_EXTIMAGE := true +endif +ifeq ($(TARGET_COPY_OUT_SYSTEM_EXT),system_ext) + BOARD_USES_SYSTEM_EXTIMAGE := true +else ifdef BOARD_USES_SYSTEM_EXTIMAGE + $(error TARGET_COPY_OUT_SYSTEM_EXT must be set to 'system_ext' to use a system_ext image) +endif +.KATI_READONLY := BOARD_USES_SYSTEM_EXTIMAGE + +BUILDING_SYSTEM_EXT_IMAGE := +ifeq ($(PRODUCT_BUILD_SYSTEM_EXT_IMAGE),) + ifdef BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE + BUILDING_SYSTEM_EXT_IMAGE := true endif -else ifeq ($(PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE),true) - BUILDING_PRODUCT_SERVICES_IMAGE := true - ifndef BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE - $(error PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE set to true, but BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE not defined) +else ifeq ($(PRODUCT_BUILD_SYSTEM_EXT_IMAGE),true) + BUILDING_SYSTEM_EXT_IMAGE := true + ifndef BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE + $(error PRODUCT_BUILD_SYSTEM_EXT_IMAGE set to true, but BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE not defined) endif endif -ifdef BOARD_PREBUILT_PRODUCT_SERVICESIMAGE - BUILDING_PRODUCT_SERVICES_IMAGE := +ifdef BOARD_PREBUILT_SYSTEM_EXTIMAGE + BUILDING_SYSTEM_EXT_IMAGE := endif -.KATI_READONLY := BUILDING_PRODUCT_SERVICES_IMAGE +.KATI_READONLY := BUILDING_SYSTEM_EXT_IMAGE ########################################### # Now we can substitute with the real value of TARGET_COPY_OUT_ODM diff --git a/core/build_rro_package.mk b/core/build_rro_package.mk index a6921d5bad..e5d7685db5 100644 --- a/core/build_rro_package.mk +++ b/core/build_rro_package.mk @@ -20,8 +20,8 @@ ifeq ($(strip $(LOCAL_ODM_MODULE)),true) partition := $(TARGET_OUT_ODM) else ifeq ($(strip $(LOCAL_VENDOR_MODULE)),true) partition := $(TARGET_OUT_VENDOR) -else ifeq ($(strip $(LOCAL_PRODUCT_SERVICES_MODULE)),true) - partition := $(TARGET_OUT_PRODUCT_SERVICES) +else ifeq ($(strip $(LOCAL_SYSTEM_EXT_MODULE)),true) + partition := $(TARGET_OUT_SYSTEM_EXT) else partition := $(TARGET_OUT_PRODUCT) endif diff --git a/core/clear_vars.mk b/core/clear_vars.mk index 5973e0e3c9..3cc8594a1c 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -216,7 +216,8 @@ LOCAL_PRIVATE_PLATFORM_APIS:= LOCAL_PRIVILEGED_MODULE:= # '',full,custom,disabled,obfuscation,optimization LOCAL_PRODUCT_MODULE:= -LOCAL_PRODUCT_SERVICES_MODULE:= +# TODO(b/135957588) Remove LOCAL_PRODUCT_SERVICES_MODULE +LOCAL_PRODUCT_SERVICES_MODULE := LOCAL_PROGUARD_ENABLED:= LOCAL_PROGUARD_FLAG_FILES:= LOCAL_PROGUARD_FLAGS:= @@ -279,6 +280,7 @@ LOCAL_STATIC_ANDROID_LIBRARIES:= LOCAL_STATIC_JAVA_AAR_LIBRARIES:= LOCAL_STATIC_JAVA_LIBRARIES:= LOCAL_STATIC_LIBRARIES:= +LOCAL_SYSTEM_EXT_MODULE:= LOCAL_STRIP_MODULE:= LOCAL_SYSTEM_SHARED_LIBRARIES:=none LOCAL_TARGET_REQUIRED_MODULES:= diff --git a/core/config.mk b/core/config.mk index 537dc923d2..d92b8915e0 100644 --- a/core/config.mk +++ b/core/config.mk @@ -871,10 +871,10 @@ $(error Should not define BOARD_PRODUCTIMAGE_PARTITION_SIZE and \ endif endif -ifneq ($(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE),) -ifneq ($(BOARD_PRODUCT_SERVICESIMAGE_PARTITION_RESERVED_SIZE),) -$(error Should not define BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE and \ - BOARD_PRODUCT_SERVICESIMAGE_PARTITION_RESERVED_SIZE together) +ifneq ($(BOARD_SYSTEM_EXTIMAGE_PARTITION_SIZE),) +ifneq ($(BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE),) +$(error Should not define BOARD_SYSTEM_EXTIMAGE_PARTITION_SIZE and \ + BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE together) endif endif @@ -899,7 +899,7 @@ $(foreach group,$(call to-upper,$(BOARD_SUPER_PARTITION_GROUPS)), \ ) # BOARD_*_PARTITION_LIST: a list of the following tokens -valid_super_partition_list := system vendor product product_services odm +valid_super_partition_list := system vendor product system_ext odm $(foreach group,$(call to-upper,$(BOARD_SUPER_PARTITION_GROUPS)), \ $(if $(filter-out $(valid_super_partition_list),$(BOARD_$(group)_PARTITION_LIST)), \ $(error BOARD_$(group)_PARTITION_LIST contains invalid partition name \ @@ -1160,7 +1160,7 @@ dont_bother_goals := out \ bptimage-nodeps \ vnod vendorimage-nodeps \ pnod productimage-nodeps \ - psnod productservicesimage-nodeps \ + senod systemextimage-nodeps \ onod odmimage-nodeps \ systemotherimage-nodeps \ ramdisk-nodeps \ diff --git a/core/dex_preopt_config.mk b/core/dex_preopt_config.mk index 570dbd84ce..b856bf436d 100644 --- a/core/dex_preopt_config.mk +++ b/core/dex_preopt_config.mk @@ -8,8 +8,8 @@ DEX_PREOPT_DEFAULT ?= true SYSTEM_OTHER_ODEX_FILTER ?= \ app/% \ priv-app/% \ - product_services/app/% \ - product_services/priv-app/% \ + system_ext/app/% \ + system_ext/priv-app/% \ product/app/% \ product/priv-app/% \ diff --git a/core/envsetup.mk b/core/envsetup.mk index 46edc0ee3d..05957cdb57 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -233,11 +233,14 @@ TARGET_COPY_OUT_RECOVERY := recovery # BoardConfig, to be either the partition dir, or a subdir within 'system'. _vendor_path_placeholder := ||VENDOR-PATH-PH|| _product_path_placeholder := ||PRODUCT-PATH-PH|| -_product_services_path_placeholder := ||PRODUCT_SERVICES-PATH-PH|| +_system_ext_path_placeholder := ||SYSTEM_EXT-PATH-PH|| _odm_path_placeholder := ||ODM-PATH-PH|| TARGET_COPY_OUT_VENDOR := $(_vendor_path_placeholder) TARGET_COPY_OUT_PRODUCT := $(_product_path_placeholder) -TARGET_COPY_OUT_PRODUCT_SERVICES := $(_product_services_path_placeholder) +# TODO(b/135957588) TARGET_COPY_OUT_PRODUCT_SERVICES will copy the target to +# product +TARGET_COPY_OUT_PRODUCT_SERVICES := $(_product_path_placeholder) +TARGET_COPY_OUT_SYSTEM_EXT := $(_system_ext_path_placeholder) TARGET_COPY_OUT_ODM := $(_odm_path_placeholder) # Returns the non-sanitized version of the path provided in $1. @@ -785,38 +788,38 @@ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_APPS_PRIVILEGED := $(TARGET_OUT_ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_APPS \ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_APPS_PRIVILEGED -TARGET_OUT_PRODUCT_SERVICES := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_PRODUCT_SERVICES) +TARGET_OUT_SYSTEM_EXT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM_EXT) ifneq ($(filter address,$(SANITIZE_TARGET)),) -target_out_product_services_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_PRODUCT_SERVICES) +target_out_system_ext_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_SYSTEM_EXT) ifeq ($(SANITIZE_LITE),true) # When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not # work with unsanitized app_process. For simplicity, generate APKs into /data/asan/. -target_out_product_services_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_PRODUCT_SERVICES) +target_out_system_ext_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_SYSTEM_EXT) else -target_out_product_services_app_base := $(TARGET_OUT_PRODUCT_SERVICES) +target_out_system_ext_app_base := $(TARGET_OUT_SYSTEM_EXT) endif else -target_out_product_services_shared_libraries_base := $(TARGET_OUT_PRODUCT_SERVICES) -target_out_product_services_app_base := $(TARGET_OUT_PRODUCT_SERVICES) +target_out_system_ext_shared_libraries_base := $(TARGET_OUT_SYSTEM_EXT) +target_out_system_ext_app_base := $(TARGET_OUT_SYSTEM_EXT) endif ifeq ($(TARGET_IS_64_BIT),true) -TARGET_OUT_PRODUCT_SERVICES_SHARED_LIBRARIES := $(target_out_product_services_shared_libraries_base)/lib64 +TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES := $(target_out_system_ext_shared_libraries_base)/lib64 else -TARGET_OUT_PRODUCT_SERVICES_SHARED_LIBRARIES := $(target_out_product_services_shared_libraries_base)/lib +TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES := $(target_out_system_ext_shared_libraries_base)/lib endif -TARGET_OUT_PRODUCT_SERVICES_JAVA_LIBRARIES:= $(TARGET_OUT_PRODUCT_SERVICES)/framework -TARGET_OUT_PRODUCT_SERVICES_APPS := $(target_out_product_services_app_base)/app -TARGET_OUT_PRODUCT_SERVICES_APPS_PRIVILEGED := $(target_out_product_services_app_base)/priv-app -TARGET_OUT_PRODUCT_SERVICES_ETC := $(TARGET_OUT_PRODUCT_SERVICES)/etc +TARGET_OUT_SYSTEM_EXT_JAVA_LIBRARIES:= $(TARGET_OUT_SYSTEM_EXT)/framework +TARGET_OUT_SYSTEM_EXT_APPS := $(target_out_system_ext_app_base)/app +TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED := $(target_out_system_ext_app_base)/priv-app +TARGET_OUT_SYSTEM_EXT_ETC := $(TARGET_OUT_SYSTEM_EXT)/etc ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) -$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_SERVICES_SHARED_LIBRARIES := $(target_out_product_services_shared_libraries_base)/lib/$(TARGET_2ND_ARCH) +$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES := $(target_out_system_ext_shared_libraries_base)/lib/$(TARGET_2ND_ARCH) else -$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_SERVICES_SHARED_LIBRARIES := $(target_out_product_services_shared_libraries_base)/lib +$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES := $(target_out_system_ext_shared_libraries_base)/lib endif -$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_SERVICES_APPS := $(TARGET_OUT_PRODUCT_SERVICES_APPS) -$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_SERVICES_APPS_PRIVILEGED := $(TARGET_OUT_PRODUCT_SERVICES_APPS_PRIVILEGED) +$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_APPS := $(TARGET_OUT_SYSTEM_EXT_APPS) +$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED := $(TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED) TARGET_OUT_BREAKPAD := $(PRODUCT_OUT)/breakpad .KATI_READONLY := TARGET_OUT_BREAKPAD diff --git a/core/install_jni_libs.mk b/core/install_jni_libs.mk index 515d34f750..0fec9ca35c 100644 --- a/core/install_jni_libs.mk +++ b/core/install_jni_libs.mk @@ -26,7 +26,7 @@ supported_partition_patterns := \ $(TARGET_OUT_VENDOR)/% \ $(TARGET_OUT_OEM)/% \ $(TARGET_OUT_PRODUCT)/% \ - $(TARGET_OUT_PRODUCT_SERVICES)/% \ + $(TARGET_OUT_SYSTEM_EXT)/% \ ifeq ($(filter $(supported_partition_patterns),$(my_module_path)),) my_embed_jni := true diff --git a/core/main.mk b/core/main.mk index 7ee63c6421..4552cf28b0 100644 --- a/core/main.mk +++ b/core/main.mk @@ -1111,7 +1111,7 @@ endef define resolve-product-relative-paths $(subst $(_vendor_path_placeholder),$(TARGET_COPY_OUT_VENDOR),\ $(subst $(_product_path_placeholder),$(TARGET_COPY_OUT_PRODUCT),\ - $(subst $(_product_services_path_placeholder),$(TARGET_COPY_OUT_PRODUCT_SERVICES),\ + $(subst $(_system_ext_path_placeholder),$(TARGET_COPY_OUT_SYSTEM_EXT),\ $(subst $(_odm_path_placeholder),$(TARGET_COPY_OUT_ODM),\ $(foreach p,$(1),$(call append-path,$(PRODUCT_OUT),$(p)$(2))))))) endef @@ -1601,8 +1601,8 @@ vendorimage: $(INSTALLED_VENDORIMAGE_TARGET) .PHONY: productimage productimage: $(INSTALLED_PRODUCTIMAGE_TARGET) -.PHONY: productservicesimage -productservicesimage: $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) +.PHONY: systemextimage +systemextimage: $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) .PHONY: odmimage odmimage: $(INSTALLED_ODMIMAGE_TARGET) @@ -1652,8 +1652,8 @@ droidcore: $(filter $(HOST_OUT_ROOT)/%,$(modules_to_install)) \ $(INSTALLED_FILES_JSON_ODM) \ $(INSTALLED_FILES_FILE_PRODUCT) \ $(INSTALLED_FILES_JSON_PRODUCT) \ - $(INSTALLED_FILES_FILE_PRODUCT_SERVICES) \ - $(INSTALLED_FILES_JSON_PRODUCT_SERVICES) \ + $(INSTALLED_FILES_FILE_SYSTEM_EXT) \ + $(INSTALLED_FILES_JSON_SYSTEM_EXT) \ $(INSTALLED_FILES_FILE_SYSTEMOTHER) \ $(INSTALLED_FILES_JSON_SYSTEMOTHER) \ $(INSTALLED_FILES_FILE_RAMDISK) \ @@ -1745,8 +1745,8 @@ else # TARGET_BUILD_APPS $(INSTALLED_FILES_JSON_ODM) \ $(INSTALLED_FILES_FILE_PRODUCT) \ $(INSTALLED_FILES_JSON_PRODUCT) \ - $(INSTALLED_FILES_FILE_PRODUCT_SERVICES) \ - $(INSTALLED_FILES_JSON_PRODUCT_SERVICES) \ + $(INSTALLED_FILES_FILE_SYSTEM_EXT) \ + $(INSTALLED_FILES_JSON_SYSTEM_EXT) \ $(INSTALLED_FILES_FILE_SYSTEMOTHER) \ $(INSTALLED_FILES_JSON_SYSTEMOTHER) \ $(INSTALLED_FILES_FILE_RECOVERY) \ diff --git a/core/package_internal.mk b/core/package_internal.mk index c414295650..2130058f5f 100644 --- a/core/package_internal.mk +++ b/core/package_internal.mk @@ -109,7 +109,7 @@ ifeq ($(PRODUCT_ENFORCE_RRO_TARGETS),*) $(LOCAL_ODM_MODULE) \ $(LOCAL_OEM_MODULE) \ $(LOCAL_PRODUCT_MODULE) \ - $(LOCAL_PRODUCT_SERVICES_MODULE) \ + $(LOCAL_SYSTEM_EXT_MODULE) \ $(LOCAL_PROPRIETARY_MODULE) \ $(LOCAL_VENDOR_MODULE)) enforce_rro_enabled := $(if $(non_system_module),,true) @@ -508,7 +508,7 @@ else endif endif -# Run veridex on product, product_services and vendor modules. +# Run veridex on product, system_ext and vendor modules. # We skip it for unbundled app builds where we cannot build veridex. module_run_appcompat := ifeq (true,$(non_system_module)) diff --git a/core/product-graph.mk b/core/product-graph.mk index 9db277c5f9..9fc8e574c3 100644 --- a/core/product-graph.mk +++ b/core/product-graph.mk @@ -117,7 +117,7 @@ $(OUT_DIR)/products/$(strip $(1)).txt: $(this_makefile) $(hide) echo 'PRODUCT_DEFAULT_PROPERTY_OVERRIDES=$$(PRODUCTS.$(strip $(1)).PRODUCT_DEFAULT_PROPERTY_OVERRIDES)' >> $$@ $(hide) echo 'PRODUCT_SYSTEM_DEFAULT_PROPERTIES=$$(PRODUCTS.$(strip $(1)).PRODUCT_SYSTEM_DEFAULT_PROPERTIES)' >> $$@ $(hide) echo 'PRODUCT_PRODUCT_PROPERTIES=$$(PRODUCTS.$(strip $(1)).PRODUCT_PRODUCT_PROPERTIES)' >> $$@ - $(hide) echo 'PRODUCT_PRODUCT_SERVICES_PROPERTIES=$$(PRODUCTS.$(strip $(1)).PRODUCT_PRODUCT_SERVICES_PROPERTIES)' >> $$@ + $(hide) echo 'PRODUCT_SYSTEM_EXT_PROPERTIES=$$(PRODUCTS.$(strip $(1)).PRODUCT_SYSTEM_EXT_PROPERTIES)' >> $$@ $(hide) echo 'PRODUCT_ODM_PROPERTIES=$$(PRODUCTS.$(strip $(1)).PRODUCT_ODM_PROPERTIES)' >> $$@ $(hide) echo 'PRODUCT_CHARACTERISTICS=$$(PRODUCTS.$(strip $(1)).PRODUCT_CHARACTERISTICS)' >> $$@ $(hide) echo 'PRODUCT_COPY_FILES=$$(PRODUCTS.$(strip $(1)).PRODUCT_COPY_FILES)' >> $$@ diff --git a/core/product.mk b/core/product.mk index 77b129da4e..1afd26b760 100644 --- a/core/product.mk +++ b/core/product.mk @@ -161,8 +161,8 @@ _product_list_vars += PRODUCT_PRODUCT_PROPERTIES # A list of property assignments, like "key = value", with zero or more # whitespace characters on either side of the '='. -# used for adding properties to build.prop of product partition -_product_list_vars += PRODUCT_PRODUCT_SERVICES_PROPERTIES +# used for adding properties to build.prop of system_ext and odm partitions +_product_list_vars += PRODUCT_SYSTEM_EXT_PROPERTIES _product_list_vars += PRODUCT_ODM_PROPERTIES # The characteristics of the product, which among other things is passed to aapt @@ -238,7 +238,7 @@ _product_single_value_vars += PRODUCT_VERITY_SIGNING_KEY _product_single_value_vars += PRODUCT_SYSTEM_VERITY_PARTITION _product_single_value_vars += PRODUCT_VENDOR_VERITY_PARTITION _product_single_value_vars += PRODUCT_PRODUCT_VERITY_PARTITION -_product_single_value_vars += PRODUCT_PRODUCT_SERVICES_VERITY_PARTITION +_product_single_value_vars += PRODUCT_SYSTEM_EXT_VERITY_PARTITION _product_single_value_vars += PRODUCT_ODM_VERITY_PARTITION _product_single_value_vars += PRODUCT_SYSTEM_SERVER_DEBUG_INFO _product_single_value_vars += PRODUCT_OTHER_JAVA_DEBUG_INFO @@ -265,7 +265,7 @@ _product_list_vars += PRODUCT_SANITIZER_MODULE_CONFIGS _product_single_value_vars += PRODUCT_SYSTEM_BASE_FS_PATH _product_single_value_vars += PRODUCT_VENDOR_BASE_FS_PATH _product_single_value_vars += PRODUCT_PRODUCT_BASE_FS_PATH -_product_single_value_vars += PRODUCT_PRODUCT_SERVICES_BASE_FS_PATH +_product_single_value_vars += PRODUCT_SYSTEM_EXT_BASE_FS_PATH _product_single_value_vars += PRODUCT_ODM_BASE_FS_PATH # The first API level this product shipped with @@ -357,7 +357,7 @@ _product_single_value_vars += PRODUCT_BUILD_SYSTEM_IMAGE _product_single_value_vars += PRODUCT_BUILD_SYSTEM_OTHER_IMAGE _product_single_value_vars += PRODUCT_BUILD_VENDOR_IMAGE _product_single_value_vars += PRODUCT_BUILD_PRODUCT_IMAGE -_product_single_value_vars += PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE +_product_single_value_vars += PRODUCT_BUILD_SYSTEM_EXT_IMAGE _product_single_value_vars += PRODUCT_BUILD_ODM_IMAGE _product_single_value_vars += PRODUCT_BUILD_CACHE_IMAGE _product_single_value_vars += PRODUCT_BUILD_RAMDISK_IMAGE diff --git a/core/product_config.mk b/core/product_config.mk index cb58cf4862..360c79dc6f 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -418,7 +418,7 @@ $(foreach image, \ SYSTEM_OTHER \ VENDOR \ PRODUCT \ - PRODUCT_SERVICES \ + SYSTEM_EXT \ ODM \ CACHE \ RAMDISK \ diff --git a/core/soong_app_prebuilt.mk b/core/soong_app_prebuilt.mk index d873cc41ff..8fc2e4caae 100644 --- a/core/soong_app_prebuilt.mk +++ b/core/soong_app_prebuilt.mk @@ -43,7 +43,7 @@ ifdef LOCAL_SOONG_CLASSES_JAR endif # TURBINE_ENABLED != false endif -# Run veridex on product, product_services and vendor modules. +# Run veridex on product, system_ext and vendor modules. # We skip it for unbundled app builds where we cannot build veridex. module_run_appcompat := ifeq (true,$(non_system_module)) diff --git a/core/soong_config.mk b/core/soong_config.mk index ac3cfb32f9..c32049de70 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -146,7 +146,7 @@ $(call add_json_bool, Use_lmkd_stats_log, $(filter true,$(TARGET_ $(call add_json_str, VendorPath, $(TARGET_COPY_OUT_VENDOR)) $(call add_json_str, OdmPath, $(TARGET_COPY_OUT_ODM)) $(call add_json_str, ProductPath, $(TARGET_COPY_OUT_PRODUCT)) -$(call add_json_str, ProductServicesPath, $(TARGET_COPY_OUT_PRODUCT_SERVICES)) +$(call add_json_str, SystemExtPath, $(TARGET_COPY_OUT_SYSTEM_EXT)) $(call add_json_bool, MinimizeJavaDebugInfo, $(filter true,$(PRODUCT_MINIMIZE_JAVA_DEBUG_INFO))) $(call add_json_bool, UseGoma, $(filter-out false,$(USE_GOMA))) diff --git a/core/tasks/find-shareduid-violation.mk b/core/tasks/find-shareduid-violation.mk index 45fd9374ed..86052f29e2 100644 --- a/core/tasks/find-shareduid-violation.mk +++ b/core/tasks/find-shareduid-violation.mk @@ -24,7 +24,7 @@ $(shareduid_violation_modules_filename): $(INSTALLED_SYSTEMIMAGE_TARGET) \ $(INSTALLED_USERDATAIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_PRODUCTIMAGE_TARGET) \ - $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) + $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) $(shareduid_violation_modules_filename): $(find_shareduid_script) $(shareduid_violation_modules_filename): $(AAPT2) diff --git a/help.sh b/help.sh index be0734431d..b02b14cfd0 100755 --- a/help.sh +++ b/help.sh @@ -40,8 +40,8 @@ Common goals are: Stands for "Vendor, NO Dependencies" pnod Quickly rebuild the product image from built packages Stands for "Product, NO Dependencies" - psnod Quickly rebuild the product_services image from built packages - Stands for "ProductServices, NO Dependencies" + senod Quickly rebuild the system_ext image from built packages + Stands for "SystemExt, NO Dependencies" onod Quickly rebuild the odm image from built packages Stands for "ODM, NO Dependencies" diff --git a/target/board/BoardConfigGsiCommon.mk b/target/board/BoardConfigGsiCommon.mk index 702ef3c669..e4dd032bbf 100644 --- a/target/board/BoardConfigGsiCommon.mk +++ b/target/board/BoardConfigGsiCommon.mk @@ -19,8 +19,9 @@ TARGET_USERIMAGES_USE_F2FS := true # Enable dynamic system image size and reserved 64MB in it. BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864 -# GSI forces product packages to /system for now. +# GSI forces product and system_ext packages to /system for now. TARGET_COPY_OUT_PRODUCT := system/product +TARGET_COPY_OUT_SYSTEM_EXT := system/system_ext BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := # Creates metadata partition mount point under root for diff --git a/target/board/BoardConfigMainlineCommon.mk b/target/board/BoardConfigMainlineCommon.mk index 9bc7e0cc69..70cfe39117 100644 --- a/target/board/BoardConfigMainlineCommon.mk +++ b/target/board/BoardConfigMainlineCommon.mk @@ -8,7 +8,8 @@ TARGET_NO_RECOVERY := true TARGET_USERIMAGES_USE_EXT4 := true -# Mainline devices must have /vendor and /product partitions. +# Mainline devices must have /system_ext, /vendor and /product partitions. +TARGET_COPY_OUT_SYSTEM_EXT := system_ext TARGET_COPY_OUT_VENDOR := vendor TARGET_COPY_OUT_PRODUCT := product diff --git a/target/product/gsi/skip_mount.cfg b/target/product/gsi/skip_mount.cfg index 549767edf2..3f812cb000 100644 --- a/target/product/gsi/skip_mount.cfg +++ b/target/product/gsi/skip_mount.cfg @@ -1,2 +1,2 @@ /product -/product_services +/system_ext diff --git a/target/product/gsi_common.mk b/target/product/gsi_common.mk index 7578f92ac7..1b5cd55475 100644 --- a/target/product/gsi_common.mk +++ b/target/product/gsi_common.mk @@ -55,10 +55,10 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ system/etc/init/config/skip_mount.cfg \ system/etc/init/init.gsi.rc \ -# Exclude all files under system/product and system/product_services +# Exclude all files under system/product and system/system_ext PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ system/product/% \ - system/product_services/% + system/system_ext/% # Split selinux policy diff --git a/target/product/mainline_system_arm64.mk b/target/product/mainline_system_arm64.mk index f01cc5471a..b9ac1e3d68 100644 --- a/target/product/mainline_system_arm64.mk +++ b/target/product/mainline_system_arm64.mk @@ -21,7 +21,7 @@ $(call enforce-product-packages-exist,) PRODUCT_BUILD_CACHE_IMAGE := false PRODUCT_BUILD_ODM_IMAGE := false PRODUCT_BUILD_PRODUCT_IMAGE := false -PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE := false +PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false PRODUCT_BUILD_RAMDISK_IMAGE := false PRODUCT_BUILD_SYSTEM_IMAGE := true PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false diff --git a/tools/fs_config/Android.mk b/tools/fs_config/Android.mk index af0da46b29..64fabe62f7 100644 --- a/tools/fs_config/Android.mk +++ b/tools/fs_config/Android.mk @@ -27,13 +27,13 @@ endif system_android_filesystem_config := system/core/include/private/android_filesystem_config.h system_capability_header := bionic/libc/kernel/uapi/linux/capability.h -# List of supported vendor, oem, odm, product and product_services Partitions +# List of supported vendor, oem, odm, product and system_ext Partitions fs_config_generate_extra_partition_list := $(strip \ $(if $(BOARD_USES_VENDORIMAGE)$(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE),vendor) \ $(if $(BOARD_USES_OEMIMAGE)$(BOARD_OEMIMAGE_FILE_SYSTEM_TYPE),oem) \ $(if $(BOARD_USES_ODMIMAGE)$(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE),odm) \ $(if $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),product) \ - $(if $(BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE),product_services) \ + $(if $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),system_ext) \ ) ################################## @@ -332,17 +332,17 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_G $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) endif -ifneq ($(filter product_services,$(fs_config_generate_extra_partition_list)),) +ifneq ($(filter system_ext,$(fs_config_generate_extra_partition_list)),) ################################## -# Generate the product_services/etc/fs_config_dirs binary file for the target -# Add fs_config_dirs or fs_config_dirs_product_services to PRODUCT_PACKAGES in +# Generate the system_ext/etc/fs_config_dirs binary file for the target +# Add fs_config_dirs or fs_config_dirs_system_ext to PRODUCT_PACKAGES in # the device make file to enable include $(CLEAR_VARS) -LOCAL_MODULE := fs_config_dirs_product_services +LOCAL_MODULE := fs_config_dirs_system_ext LOCAL_MODULE_CLASS := ETC LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs -LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_SERVICES)/etc +LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc include $(BUILD_SYSTEM)/base_rules.mk $(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) $(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) @@ -352,21 +352,21 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_G $< fsconfig \ --aid-header $(PRIVATE_ANDROID_FS_HDR) \ --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ - --partition product_services \ + --partition system_ext \ --dirs \ --out_file $@ \ $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) ################################## -# Generate the product_services/etc/fs_config_files binary file for the target -# Add fs_config_files of fs_config_files_product_services to PRODUCT_PACKAGES in +# Generate the system_ext/etc/fs_config_files binary file for the target +# Add fs_config_files of fs_config_files_system_ext to PRODUCT_PACKAGES in # the device make file to enable include $(CLEAR_VARS) -LOCAL_MODULE := fs_config_files_product_services +LOCAL_MODULE := fs_config_files_system_ext LOCAL_MODULE_CLASS := ETC LOCAL_INSTALLED_MODULE_STEM := fs_config_files -LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_SERVICES)/etc +LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc include $(BUILD_SYSTEM)/base_rules.mk $(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) $(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) @@ -376,7 +376,7 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_G $< fsconfig \ --aid-header $(PRIVATE_ANDROID_FS_HDR) \ --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ - --partition product_services \ + --partition system_ext \ --files \ --out_file $@ \ $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py index 98386a6ecf..e177828e94 100755 --- a/tools/releasetools/add_img_to_target_files.py +++ b/tools/releasetools/add_img_to_target_files.py @@ -222,20 +222,20 @@ def AddProduct(output_zip): return img.name -def AddProductServices(output_zip): - """Turn the contents of PRODUCT_SERVICES into a product_services image and - store it in output_zip.""" +def AddSystemExt(output_zip): + """Turn the contents of SYSTEM_EXT into a system_ext image and store it in + output_zip.""" img = OutputFile(output_zip, OPTIONS.input_tmp, "IMAGES", - "product_services.img") + "system_ext.img") if os.path.exists(img.name): - logger.info("product_services.img already exists; no need to rebuild...") + logger.info("system_ext.img already exists; no need to rebuild...") return img.name block_list = OutputFile( - output_zip, OPTIONS.input_tmp, "IMAGES", "product_services.map") + output_zip, OPTIONS.input_tmp, "IMAGES", "system_ext.map") CreateImage( - OPTIONS.input_tmp, OPTIONS.info_dict, "product_services", img, + OPTIONS.input_tmp, OPTIONS.info_dict, "system_ext", img, block_list=block_list) return img.name @@ -734,10 +734,10 @@ def AddImagesToTargetFiles(filename): has_recovery = OPTIONS.info_dict.get("no_recovery") != "true" has_boot = OPTIONS.info_dict.get("no_boot") != "true" - # {vendor,odm,product,product_services}.img are unlike system.img or + # {vendor,odm,product,system_ext}.img are unlike system.img or # system_other.img. Because it could be built from source, or dropped into # target_files.zip as a prebuilt blob. We consider either of them as - # {vendor,product,product_services}.img being available, which could be + # {vendor,product,system_ext}.img being available, which could be # used when generating vbmeta.img for AVB. has_vendor = (os.path.isdir(os.path.join(OPTIONS.input_tmp, "VENDOR")) or os.path.exists(os.path.join(OPTIONS.input_tmp, "IMAGES", @@ -748,11 +748,11 @@ def AddImagesToTargetFiles(filename): has_product = (os.path.isdir(os.path.join(OPTIONS.input_tmp, "PRODUCT")) or os.path.exists(os.path.join(OPTIONS.input_tmp, "IMAGES", "product.img"))) - has_product_services = (os.path.isdir(os.path.join(OPTIONS.input_tmp, - "PRODUCT_SERVICES")) or - os.path.exists(os.path.join(OPTIONS.input_tmp, - "IMAGES", - "product_services.img"))) + has_system_ext = (os.path.isdir(os.path.join(OPTIONS.input_tmp, + "SYSTEM_EXT")) or + os.path.exists(os.path.join(OPTIONS.input_tmp, + "IMAGES", + "system_ext.img"))) has_system = os.path.isdir(os.path.join(OPTIONS.input_tmp, "SYSTEM")) has_system_other = os.path.isdir(os.path.join(OPTIONS.input_tmp, "SYSTEM_OTHER")) @@ -833,9 +833,9 @@ def AddImagesToTargetFiles(filename): banner("product") partitions['product'] = AddProduct(output_zip) - if has_product_services: - banner("product_services") - partitions['product_services'] = AddProductServices(output_zip) + if has_system_ext: + banner("system_ext") + partitions['system_ext'] = AddSystemExt(output_zip) if has_odm: banner("odm") diff --git a/tools/releasetools/build_image.py b/tools/releasetools/build_image.py index ba0465151e..ee05dd5a5d 100755 --- a/tools/releasetools/build_image.py +++ b/tools/releasetools/build_image.py @@ -644,30 +644,30 @@ def ImagePropFromGlobalDict(glob_dict, mount_point): d["extfs_rsv_pct"] = "0" copy_prop("product_reserved_size", "partition_reserved_size") copy_prop("product_selinux_fc", "selinux_fc") - elif mount_point == "product_services": - copy_prop("avb_product_services_hashtree_enable", "avb_hashtree_enable") - copy_prop("avb_product_services_add_hashtree_footer_args", + elif mount_point == "system_ext": + copy_prop("avb_system_ext_hashtree_enable", "avb_hashtree_enable") + copy_prop("avb_system_ext_add_hashtree_footer_args", "avb_add_hashtree_footer_args") - copy_prop("avb_product_services_key_path", "avb_key_path") - copy_prop("avb_product_services_algorithm", "avb_algorithm") - copy_prop("product_services_fs_type", "fs_type") - copy_prop("product_services_size", "partition_size") - if not copy_prop("product_services_journal_size", "journal_size"): + copy_prop("avb_system_ext_key_path", "avb_key_path") + copy_prop("avb_system_ext_algorithm", "avb_algorithm") + copy_prop("system_ext_fs_type", "fs_type") + copy_prop("system_ext_size", "partition_size") + if not copy_prop("system_ext_journal_size", "journal_size"): d["journal_size"] = "0" - copy_prop("product_services_verity_block_device", "verity_block_device") + copy_prop("system_ext_verity_block_device", "verity_block_device") copy_prop("ext4_share_dup_blocks", "ext4_share_dup_blocks") - copy_prop("product_services_squashfs_compressor", "squashfs_compressor") - copy_prop("product_services_squashfs_compressor_opt", + copy_prop("system_ext_squashfs_compressor", "squashfs_compressor") + copy_prop("system_ext_squashfs_compressor_opt", "squashfs_compressor_opt") - copy_prop("product_services_squashfs_block_size", "squashfs_block_size") - copy_prop("product_services_squashfs_disable_4k_align", + copy_prop("system_ext_squashfs_block_size", "squashfs_block_size") + copy_prop("system_ext_squashfs_disable_4k_align", "squashfs_disable_4k_align") - copy_prop("product_services_base_fs_file", "base_fs_file") - copy_prop("product_services_extfs_inode_count", "extfs_inode_count") - if not copy_prop("product_services_extfs_rsv_pct", "extfs_rsv_pct"): + copy_prop("system_ext_base_fs_file", "base_fs_file") + copy_prop("system_ext_extfs_inode_count", "extfs_inode_count") + if not copy_prop("system_ext_extfs_rsv_pct", "extfs_rsv_pct"): d["extfs_rsv_pct"] = "0" - copy_prop("product_services_reserved_size", "partition_reserved_size") - copy_prop("product_services_selinux_fc", "selinux_fc") + copy_prop("system_ext_reserved_size", "partition_reserved_size") + copy_prop("system_ext_selinux_fc", "selinux_fc") elif mount_point == "odm": copy_prop("avb_odm_hashtree_enable", "avb_hashtree_enable") copy_prop("avb_odm_add_hashtree_footer_args", @@ -736,8 +736,8 @@ def GlobalDictFromImageProp(image_prop, mount_point): copy_prop("partition_size", "odm_size") elif mount_point == "product": copy_prop("partition_size", "product_size") - elif mount_point == "product_services": - copy_prop("partition_size", "product_services_size") + elif mount_point == "system_ext": + copy_prop("partition_size", "system_ext_size") return d @@ -777,8 +777,8 @@ def main(argv): mount_point = "oem" elif image_filename == "product.img": mount_point = "product" - elif image_filename == "product_services.img": - mount_point = "product_services" + elif image_filename == "system_ext.img": + mount_point = "system_ext" else: logger.error("Unknown image file name %s", image_filename) sys.exit(1) diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index edde89c525..9998cd3d01 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -98,15 +98,14 @@ SPECIAL_CERT_STRINGS = ("PRESIGNED", "EXTERNAL") # The partitions allowed to be signed by AVB (Android Verified Boot 2.0). Note # that system_other is not in the list because we don't want to include its # descriptor into vbmeta.img. -AVB_PARTITIONS = ('boot', 'dtbo', 'odm', 'product', 'product_services', - 'recovery', 'system', 'vendor') +AVB_PARTITIONS = ('boot', 'dtbo', 'odm', 'product', 'recovery', 'system', + 'system_ext', 'vendor') # Chained VBMeta partitions. AVB_VBMETA_PARTITIONS = ('vbmeta_system', 'vbmeta_vendor') # Partitions that should have their care_map added to META/care_map.pb -PARTITIONS_WITH_CARE_MAP = ('system', 'vendor', 'product', 'product_services', - 'odm') +PARTITIONS_WITH_CARE_MAP = ('system', 'vendor', 'product', 'system_ext', 'odm') class ErrorCode(object): diff --git a/tools/releasetools/merge_target_files.py b/tools/releasetools/merge_target_files.py index 407ee7e8a3..f73bae1cd8 100755 --- a/tools/releasetools/merge_target_files.py +++ b/tools/releasetools/merge_target_files.py @@ -146,8 +146,8 @@ DEFAULT_FRAMEWORK_MISC_INFO_KEYS = ( 'avb_system_rollback_index_location', 'avb_product_hashtree_enable', 'avb_product_add_hashtree_footer_args', - 'avb_product_services_hashtree_enable', - 'avb_product_services_add_hashtree_footer_args', + 'avb_system_ext_hashtree_enable', + 'avb_system_ext_add_hashtree_footer_args', 'system_root_image', 'root_dir', 'ab_update', @@ -193,7 +193,7 @@ SINGLE_BUILD_PARTITIONS = ( 'DATA/', 'ODM/', 'PRODUCT/', - 'PRODUCT_SERVICES/', + 'SYSTEM_EXT/', 'RADIO/', 'RECOVERY/', 'ROOT/', diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py index 0e8432710a..459831724c 100755 --- a/tools/releasetools/ota_from_target_files.py +++ b/tools/releasetools/ota_from_target_files.py @@ -276,8 +276,8 @@ class BuildInfo(object): _RO_PRODUCT_RESOLVE_PROPS = ["ro.product.brand", "ro.product.device", "ro.product.manufacturer", "ro.product.model", "ro.product.name"] - _RO_PRODUCT_PROPS_DEFAULT_SOURCE_ORDER = ["product", "product_services", - "odm", "vendor", "system"] + _RO_PRODUCT_PROPS_DEFAULT_SOURCE_ORDER = ["product", "odm", "vendor", + "system_ext", "system"] def __init__(self, info_dict, oem_dicts): """Initializes a BuildInfo instance with the given dicts. diff --git a/tools/releasetools/sign_target_files_apks.py b/tools/releasetools/sign_target_files_apks.py index a7e6bb059c..04b627b3d6 100755 --- a/tools/releasetools/sign_target_files_apks.py +++ b/tools/releasetools/sign_target_files_apks.py @@ -501,8 +501,8 @@ def ProcessTargetFiles(input_tf_zip, output_tf_zip, misc_info, "PRODUCT/build.prop", "SYSTEM/product/build.prop", - "PRODUCT_SERVICES/build.prop", - "SYSTEM/product_services/build.prop", + "SYSTEM_EXT/build.prop", + "SYSTEM/system_ext/build.prop", "SYSTEM/etc/prop.default", "BOOT/RAMDISK/prop.default", diff --git a/tools/releasetools/test_common.py b/tools/releasetools/test_common.py index 287cf0a4f7..50fa86f387 100644 --- a/tools/releasetools/test_common.py +++ b/tools/releasetools/test_common.py @@ -1254,10 +1254,10 @@ super_group_qux_group_size={group_qux_size} def test_incremental(self): source_info = common.LoadDictionaryFromLines(""" -dynamic_partition_list=system vendor product product_services +dynamic_partition_list=system vendor product system_ext super_partition_groups=group_foo super_group_foo_group_size={group_foo_size} -super_group_foo_partition_list=system vendor product product_services +super_group_foo_partition_list=system vendor product system_ext """.format(group_foo_size=4 * GiB).split("\n")) target_info = common.LoadDictionaryFromLines(""" dynamic_partition_list=system vendor product odm @@ -1274,7 +1274,7 @@ super_group_bar_partition_list=product src=FakeSparseImage(1024 * MiB)), MockBlockDifference("product", FakeSparseImage(1024 * MiB), src=FakeSparseImage(1024 * MiB)), - MockBlockDifference("product_services", None, + MockBlockDifference("system_ext", None, src=FakeSparseImage(1024 * MiB)), MockBlockDifference("odm", FakeSparseImage(1024 * MiB), src=None)] @@ -1297,11 +1297,11 @@ super_group_bar_partition_list=product self.assertLess(patch_idx, verify_idx, "Should verify {} after patching".format(p)) - self.assertNotIn("patch(product_services);", self.script.lines) + self.assertNotIn("patch(system_ext);", self.script.lines) lines = self.get_op_list(self.output_path) - remove = lines.index("remove product_services") + remove = lines.index("remove system_ext") move_product_out = lines.index("move product default") shrink = lines.index("resize vendor 536870912") shrink_group = lines.index("resize_group group_foo 3221225472") diff --git a/tools/releasetools/test_sign_target_files_apks.py b/tools/releasetools/test_sign_target_files_apks.py index 9a1d16311f..01007290ae 100644 --- a/tools/releasetools/test_sign_target_files_apks.py +++ b/tools/releasetools/test_sign_target_files_apks.py @@ -70,10 +70,10 @@ name="apex.apexd_test_different_app.apex" public_key="system/apex/apexd/apexd_te 'ro.product.build.fingerprint=foo/bar/release-keys'), ('ro.product.build.thumbprint=foo/bar/dev-keys', 'ro.product.build.thumbprint=foo/bar/release-keys'), - ('ro.product_services.build.fingerprint=foo/bar/test-keys', - 'ro.product_services.build.fingerprint=foo/bar/release-keys'), - ('ro.product_services.build.thumbprint=foo/bar/test-keys', - 'ro.product_services.build.thumbprint=foo/bar/release-keys'), + ('ro.system_ext.build.fingerprint=foo/bar/test-keys', + 'ro.system_ext.build.fingerprint=foo/bar/release-keys'), + ('ro.system_ext.build.thumbprint=foo/bar/test-keys', + 'ro.system_ext.build.thumbprint=foo/bar/release-keys'), ('# comment line 1', '# comment line 1'), ('ro.bootimage.build.fingerprint=foo/bar/dev-keys', 'ro.bootimage.build.fingerprint=foo/bar/release-keys'), @@ -91,8 +91,8 @@ name="apex.apexd_test_different_app.apex" public_key="system/apex/apexd/apexd_te 'ro.odm.build.tags=release-keys'), ('ro.product.build.tags=dev-keys', 'ro.product.build.tags=release-keys'), - ('ro.product_services.build.tags=dev-keys', - 'ro.product_services.build.tags=release-keys'), + ('ro.system_ext.build.tags=dev-keys', + 'ro.system_ext.build.tags=release-keys'), ('# comment line 2', '# comment line 2'), ('ro.build.display.id=OPR6.170623.012 dev-keys', 'ro.build.display.id=OPR6.170623.012'),