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

Commit 128e6ed2 authored by Baligh Uddin's avatar Baligh Uddin Committed by Automerger Merge Worker
Browse files

Merge "Handles capex in signing script" into sc-dev am: 91b84353

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

Change-Id: I758756dfb078f3f045670315d03aa64a15af51c1
parents 91eb4798 91b84353
Loading
Loading
Loading
Loading
+20 −6
Original line number Diff line number Diff line
@@ -217,6 +217,18 @@ for partition in common.AVB_PARTITIONS:
    raise RuntimeError("Missing {} in AVB_FOOTER_ARGS".format(partition))


def IsApexFile(filename):
  return filename.endswith(".apex") or filename.endswith(".capex")


def GetApexFilename(filename):
  name = os.path.basename(filename)
  # Replace the suffix for compressed apex
  if name.endswith(".capex"):
    return name.replace(".capex", ".apex")
  return name


def GetApkCerts(certmap):
  # apply the key remapping to the contents of the file
  for apk, cert in certmap.items():
@@ -356,8 +368,8 @@ def CheckApkAndApexKeysAvailable(input_tf_zip, known_keys,
  unknown_files = []
  for info in input_tf_zip.infolist():
    # Handle APEXes on all partitions
    if info.filename.endswith('.apex'):
      name = os.path.basename(info.filename)
    if IsApexFile(info.filename):
      name = GetApexFilename(info.filename)
      if name not in known_keys:
        unknown_files.append(name)
      continue
@@ -388,10 +400,11 @@ def CheckApkAndApexKeysAvailable(input_tf_zip, known_keys,

  invalid_apexes = []
  for info in input_tf_zip.infolist():
    if not info.filename.endswith('.apex'):
    if not IsApexFile(info.filename):
      continue

    name = os.path.basename(info.filename)
    name = GetApexFilename(info.filename)

    (payload_key, container_key) = apex_keys[name]
    if ((payload_key in common.SPECIAL_CERT_STRINGS and
         container_key not in common.SPECIAL_CERT_STRINGS) or
@@ -541,8 +554,9 @@ def ProcessTargetFiles(input_tf_zip, output_tf_zip, misc_info,
        common.ZipWriteStr(output_tf_zip, out_info, data)

    # Sign bundled APEX files on all partitions
    elif filename.endswith(".apex"):
      name = os.path.basename(filename)
    elif IsApexFile(filename):
      name = GetApexFilename(filename)

      payload_key, container_key = apex_keys[name]

      # We've asserted not having a case with only one of them PRESIGNED.