forked from openkylin/platform_build
Rename product_services to system_ext
Bug: 134359158 Test: build and check if system_ext.img is created Change-Id: I67f2e95dd29eac6a28e07e24ea973d3a134c3bfc
This commit is contained in:
parent
6e3ae4e849
commit
6151e3f1ea
280
core/Makefile
280
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_<NAME>. 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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:=
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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/% \
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
14
core/main.mk
14
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) \
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)' >> $$@
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -418,7 +418,7 @@ $(foreach image, \
|
|||
SYSTEM_OTHER \
|
||||
VENDOR \
|
||||
PRODUCT \
|
||||
PRODUCT_SERVICES \
|
||||
SYSTEM_EXT \
|
||||
ODM \
|
||||
CACHE \
|
||||
RAMDISK \
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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)
|
||||
|
|
4
help.sh
4
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"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
/product
|
||||
/product_services
|
||||
/system_ext
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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/',
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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'),
|
||||
|
|
Loading…
Reference in New Issue