Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 421fe44a authored by Wei Wang's avatar Wei Wang
Browse files

Include vendor partitions in target zip generation

This change will enable the target zip to include partition defined in
BRILLO_VENDOR_PARTITIONS. This is necessary for OTA to support
partitions other than boot and system in ab_partitions.txt.

BUG: 28623063
Change-Id: I6e0969c31c9ad2e8285c6f560825c160aa8c4d55
parent fa4ff9de
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1640,6 +1640,10 @@ ifeq ($(TARGET_BUILD_TYPE),debug)
endif
name := $(name)-target_files-$(FILE_NAME_TAG)

ifdef BRILLO_VENDOR_PARTITIONS
  vendor_partitions_intermediates := $(call intermediates-dir-for, PACKAGING, vendor-partitions)
endif

intermediates := $(call intermediates-dir-for,PACKAGING,target_files)
BUILT_TARGET_FILES_PACKAGE := $(intermediates)/$(name).zip
$(BUILT_TARGET_FILES_PACKAGE): intermediates := $(intermediates)
@@ -1873,6 +1877,10 @@ ifeq ($(AB_OTA_UPDATER),true)
	@# Include the build type in META/misc_info.txt so the server can easily differentiate production builds.
	$(hide) echo "build_type=$(TARGET_BUILD_VARIANT)" >> $(zip_root)/META/misc_info.txt
	$(hide) echo "ab_update=true" >> $(zip_root)/META/misc_info.txt
ifdef BRILLO_VENDOR_PARTITIONS
	@mkdir -p $(zip_root)/VENDOR_IMAGES
	$(hide) $(ACP) -r -d -p $(vendor_partitions_intermediates)/*.img $(zip_root)/VENDOR_IMAGES
endif
ifdef OSRELEASED_DIRECTORY
	$(hide) $(ACP) $(TARGET_OUT_ETC)/$(OSRELEASED_DIRECTORY)/product_id $(zip_root)/META/product_id.txt
	$(hide) $(ACP) $(TARGET_OUT_ETC)/$(OSRELEASED_DIRECTORY)/product_version $(zip_root)/META/product_version.txt
+8 −2
Original line number Diff line number Diff line
@@ -395,8 +395,9 @@ def AddImagesToTargetFiles(filename):
    banner("partition-table")
    AddPartitionTable(output_zip)

  # For devices using A/B update, copy over images from RADIO/ to IMAGES/ and
  # make sure we have all the needed images ready under IMAGES/.
  # For devices using A/B update, copy over images from RADIO/ and/or
  # VENDOR_IMAGES/ to IMAGES/ and make sure we have all the needed
  # images ready under IMAGES/.
  ab_partitions = os.path.join(OPTIONS.input_tmp, "META", "ab_partitions.txt")
  if os.path.exists(ab_partitions):
    with open(ab_partitions, 'r') as f:
@@ -404,9 +405,14 @@ def AddImagesToTargetFiles(filename):
    for line in lines:
      img_name = line.strip() + ".img"
      img_radio_path = os.path.join(OPTIONS.input_tmp, "RADIO", img_name)
      img_vendor_path = os.path.join(
        OPTIONS.input_tmp, "VENDOR_IMAGES", img_name)
      if os.path.exists(img_radio_path):
        common.ZipWrite(output_zip, img_radio_path,
                        os.path.join("IMAGES", img_name))
      elif os.path.exists(img_vendor_path):
        common.ZipWrite(output_zip, img_vendor_path,
                        os.path.join("IMAGES", img_name))

      # Zip spec says: All slashes MUST be forward slashes.
      img_path = 'IMAGES/' + img_name