Merge "Make apex util detect if hashtree is present"
This commit is contained in:
@@ -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
|
||||||
|
@@ -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)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user