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

Commit 3645e89d authored by Kelvin Zhang's avatar Kelvin Zhang Committed by Gerrit Code Review
Browse files

Merge "Make apex util detect if hashtree is present"

parents 59c4d759 7cab7503
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -340,6 +340,8 @@ def SignUncompressedApex(avbtool, apex_file, payload_key, container_key,
    zip_items = apex_fd.namelist()
    zip_items = apex_fd.namelist()


  payload_info = ParseApexPayloadInfo(avbtool, payload_file)
  payload_info = ParseApexPayloadInfo(avbtool, payload_file)
  if no_hashtree is None:
    no_hashtree = payload_info.get("Tree Size", 0) == 0
  SignApexPayload(
  SignApexPayload(
      avbtool,
      avbtool,
      payload_file,
      payload_file,
@@ -503,6 +505,7 @@ def SignApex(avbtool, apex_data, payload_key, container_key, container_pw,
    raise ApexInfoError(
    raise ApexInfoError(
        'Failed to get type for {}:\n{}'.format(apex_file, e))
        'Failed to get type for {}:\n{}'.format(apex_file, e))



def GetApexInfoFromTargetFiles(input_file, partition, compressed_only=True):
def GetApexInfoFromTargetFiles(input_file, partition, compressed_only=True):
  """
  """
  Get information about system APEX stored in the input_file zip
  Get information about system APEX stored in the input_file zip
+25 −24
Original line number Original line Diff line number Diff line
@@ -575,7 +575,7 @@ def ProcessTargetFiles(input_tf_zip, output_tf_zip, misc_info,
            key_passwords,
            key_passwords,
            apk_keys,
            apk_keys,
            codename_to_api_level_map,
            codename_to_api_level_map,
            no_hashtree=True,
            no_hashtree=None,  # Let apex_util determine if hash tree is needed
            signing_args=OPTIONS.avb_extra_args.get('apex'))
            signing_args=OPTIONS.avb_extra_args.get('apex'))
        common.ZipWrite(output_tf_zip, signed_apex, filename)
        common.ZipWrite(output_tf_zip, signed_apex, filename)


@@ -762,7 +762,8 @@ def ReplaceCerts(data):
  # it's only checking entries with global seinfo at the moment (i.e. ignoring
  # it's only checking entries with global seinfo at the moment (i.e. ignoring
  # the ones with inner packages). (Bug: 69479366)
  # the ones with inner packages). (Bug: 69479366)
  root = ElementTree.fromstring(data)
  root = ElementTree.fromstring(data)
  signatures = [signer.attrib['signature'] for signer in root.findall('signer')]
  signatures = [signer.attrib['signature']
                for signer in root.findall('signer')]
  assert len(signatures) == len(set(signatures)), \
  assert len(signatures) == len(set(signatures)), \
      "Found duplicate entries after cert replacement: {}".format(data)
      "Found duplicate entries after cert replacement: {}".format(data)