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

Commit 3f743d57 authored by Baligh Uddin's avatar Baligh Uddin Committed by Automerger Merge Worker
Browse files

Merge "Write the vbmeta digest to the output zipfile also" into sc-dev am: 82ff8ca9

Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/15288142

Change-Id: I3e9d78cdf592e6cb89a7863b560118317a4afaa2
parents 3673e6dc 82ff8ca9
Loading
Loading
Loading
Loading
+26 −13
Original line number Diff line number Diff line
@@ -704,6 +704,31 @@ def AddApexInfo(output_zip):
      common.ZipWrite(output_zip, output_file, arc_name)


def AddVbmetaDigest(output_zip):
  """Write the vbmeta digest to the output dir and zipfile."""

  # Calculate the vbmeta digest and put the result in to META/
  boot_images = OPTIONS.info_dict.get("boot_images")
  # Disable the digest calculation if the target_file is used as a container
  # for boot images.
  boot_container = boot_images and len(boot_images.split()) >= 2
  if (OPTIONS.info_dict.get("avb_enable") == "true" and not boot_container and
      OPTIONS.info_dict.get("avb_building_vbmeta_image") == "true"):
    avbtool = OPTIONS.info_dict["avb_avbtool"]
    digest = verity_utils.CalculateVbmetaDigest(OPTIONS.input_tmp, avbtool)
    vbmeta_digest_txt = os.path.join(OPTIONS.input_tmp, "META",
                                     "vbmeta_digest.txt")
    with open(vbmeta_digest_txt, 'w') as f:
      f.write(digest)
    # writes to the output zipfile
    if output_zip:
      arc_name = "META/vbmeta_digest.txt"
      if arc_name in output_zip.namelist():
        OPTIONS.replace_updated_files_list.append(arc_name)
      else:
        common.ZipWriteStr(output_zip, arc_name, digest)


def AddImagesToTargetFiles(filename):
  """Creates and adds images (boot/recovery/system/...) to a target_files.zip.

@@ -957,19 +982,7 @@ def AddImagesToTargetFiles(filename):
    with open(pack_radioimages_txt) as f:
      AddPackRadioImages(output_zip, f.readlines())

  # Calculate the vbmeta digest and put the result in to META/
  boot_images = OPTIONS.info_dict.get("boot_images")
  # Disable the digest calculation if the target_file is used as a container
  # for boot images.
  boot_container = boot_images and len(boot_images.split()) >= 2
  if (OPTIONS.info_dict.get("avb_enable") == "true" and not boot_container and
      OPTIONS.info_dict.get("avb_building_vbmeta_image") == "true"):
    avbtool = OPTIONS.info_dict["avb_avbtool"]
    digest = verity_utils.CalculateVbmetaDigest(OPTIONS.input_tmp, avbtool)
    vbmeta_digest_txt = os.path.join(OPTIONS.input_tmp, "META",
                                     "vbmeta_digest.txt")
    with open(vbmeta_digest_txt, 'w') as f:
      f.write(digest)
  AddVbmetaDigest(output_zip)

  if output_zip:
    common.ZipClose(output_zip)