|
|
|
@ -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)
|
|
|
|
|
|
|
|
|
|
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: $@
|
|
|
|
|
# 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_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
|
|
|
|
|