diff --git a/core/Makefile b/core/Makefile index 74a2e4f270..befb50fab0 100644 --- a/core/Makefile +++ b/core/Makefile @@ -4447,6 +4447,19 @@ $(PROGUARD_DICT_ZIP) : endif # TARGET_BUILD_APPS + +ifeq (true,$(PRODUCT_USE_DYNAMIC_PARTITIONS)) + +# Dump variables used by build_super_image.py (for building super.img and super_empty.img). +# $(1): output file +define dump-super-image-info + $(call dump-dynamic-partitions-info,$(1)) + $(if $(filter true,$(AB_OTA_UPDATER)), \ + echo "ab_update=true" >> $(1)) +endef + +endif # PRODUCT_USE_DYNAMIC_PARTITIONS + # ----------------------------------------------------------------- # super partition image (dist) @@ -4455,13 +4468,6 @@ ifeq (true,$(PRODUCT_BUILD_SUPER_PARTITION)) # BOARD_SUPER_PARTITION_SIZE must be defined to build super image. ifneq ($(BOARD_SUPER_PARTITION_SIZE),) -# Dump variables used by build_super_image.py. -define dump-super-image-info - $(call dump-dynamic-partitions-info,$(1)) - $(if $(filter true,$(AB_OTA_UPDATER)), \ - echo "ab_update=true" >> $(1)) -endef - ifneq (true,$(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS)) # For real devices and for dist builds, build super image from target files to an intermediate directory. @@ -4541,7 +4547,7 @@ endif # PRODUCT_BUILD_SUPER_PARTITION == "true" # ----------------------------------------------------------------- # super empty image -ifeq (true,$(PRODUCT_BUILD_SUPER_PARTITION)) +ifeq (true,$(PRODUCT_USE_DYNAMIC_PARTITIONS)) ifneq ($(BOARD_SUPER_PARTITION_SIZE),) INSTALLED_SUPERIMAGE_EMPTY_TARGET := $(PRODUCT_OUT)/super_empty.img @@ -4557,7 +4563,7 @@ $(INSTALLED_SUPERIMAGE_EMPTY_TARGET): $(LPMAKE) $(BUILD_SUPER_IMAGE) $(call dist-for-goals,dist_files,$(INSTALLED_SUPERIMAGE_EMPTY_TARGET)) endif # BOARD_SUPER_PARTITION_SIZE != "" -endif # PRODUCT_BUILD_SUPER_PARTITION == "true" +endif # PRODUCT_USE_DYNAMIC_PARTITIONS == "true" # ----------------------------------------------------------------- diff --git a/core/config.mk b/core/config.mk index 718845a7b0..b59862ee2a 100644 --- a/core/config.mk +++ b/core/config.mk @@ -886,17 +886,13 @@ ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true) # Must not be empty. # - BOARD_{GROUP}_PARTITION_PARTITION_LIST: the list of partitions that belongs to this group. # If empty, no partitions belong to this group, and the sum of sizes is effectively 0. -$(foreach group,$(call to-upper,$(BOARD_SUPER_PARTITION_GROUPS)), \ - $(eval BOARD_$(group)_PARTITION_LIST ?=) \ - $(eval .KATI_READONLY := BOARD_$(group)_PARTITION_LIST) \ -) -ifeq ($(PRODUCT_BUILD_SUPER_PARTITION),true) $(foreach group,$(call to-upper,$(BOARD_SUPER_PARTITION_GROUPS)), \ $(eval BOARD_$(group)_SIZE := $(strip $(BOARD_$(group)_SIZE))) \ $(if $(BOARD_$(group)_SIZE),,$(error BOARD_$(group)_SIZE must not be empty)) \ $(eval .KATI_READONLY := BOARD_$(group)_SIZE) \ + $(eval BOARD_$(group)_PARTITION_LIST ?=) \ + $(eval .KATI_READONLY := BOARD_$(group)_PARTITION_LIST) \ ) -endif # PRODUCT_BUILD_SUPER_PARTITION # BOARD_*_PARTITION_LIST: a list of the following tokens valid_super_partition_list := system vendor product product_services odm diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py index 1090d57194..f2b9afa657 100755 --- a/tools/releasetools/add_img_to_target_files.py +++ b/tools/releasetools/add_img_to_target_files.py @@ -870,10 +870,11 @@ def AddImagesToTargetFiles(filename): banner("vbmeta") AddVBMeta(output_zip, partitions, "vbmeta", vbmeta_partitions) - if OPTIONS.info_dict.get("build_super_partition") == "true": + if OPTIONS.info_dict.get("use_dynamic_partitions") == "true": banner("super_empty") AddSuperEmpty(output_zip) + if OPTIONS.info_dict.get("build_super_partition") == "true": if OPTIONS.info_dict.get( "build_retrofit_dynamic_partitions_ota_package") == "true": banner("super split images") diff --git a/tools/releasetools/merge_target_files.py b/tools/releasetools/merge_target_files.py index 54bb99a46d..712e3f7cde 100755 --- a/tools/releasetools/merge_target_files.py +++ b/tools/releasetools/merge_target_files.py @@ -395,9 +395,9 @@ def process_misc_info_txt( merged_info_dict[key] = '%s %s' % ( system_info_dict.get(key, ''), merged_info_dict.get(key, '')) - # Ensure that add_img_to_target_files rebuilds super_empty.img. This flag - # may have been set to false in the partial builds to prevent duplicate - # building of super.img and super_empty.img. + # Ensure that add_img_to_target_files rebuilds super split images for + # devices that retrofit dynamic partitions. This flag may have been set to + # false in the partial builds to prevent duplicate building of super.img. merged_dict['build_super_partition'] = 'true' output_misc_info_txt = os.path.join(