From c7814837a0a9bf83f5005393949161c9ca74a7e9 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Mon, 17 Oct 2016 16:20:12 -0700 Subject: [PATCH] releasetools: Support verity signer args. system/extras/verity/build_verity_metadata.py now accepts "--signer_args" to specify verity signer args. Also remove the duplicate "--verity_signer_args" in add_img_to_target_files.py, as we already have that in common.py. Bug: 31500665 Test: Building and signing work w/ and w/o --signer_args. Change-Id: I02f59c50a1ebf15c5505e9fffd5b9bbbbaa785be (cherry picked from commit 458104266f52e1d92fbde057496f621aa16084cc) --- tools/releasetools/build_image.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tools/releasetools/build_image.py b/tools/releasetools/build_image.py index d78896a22..c1c9057d2 100755 --- a/tools/releasetools/build_image.py +++ b/tools/releasetools/build_image.py @@ -68,7 +68,7 @@ def GetVerityTreeSize(partition_size): return True, int(output) def GetVerityMetadataSize(partition_size): - cmd = "system/extras/verity/build_verity_metadata.py -s %d" + cmd = "system/extras/verity/build_verity_metadata.py size %d" cmd %= partition_size status, output = commands.getstatusoutput(cmd) @@ -163,11 +163,14 @@ def BuildVerityTree(sparse_image_path, verity_image_path, prop_dict): return True def BuildVerityMetadata(image_size, verity_metadata_path, root_hash, salt, - block_device, signer_path, key): + block_device, signer_path, key, signer_args): cmd_template = ( - "system/extras/verity/build_verity_metadata.py %s %s %s %s %s %s %s") + "system/extras/verity/build_verity_metadata.py build " + + "%s %s %s %s %s %s %s") cmd = cmd_template % (image_size, verity_metadata_path, root_hash, salt, block_device, signer_path, key) + if signer_args: + cmd += " --signer_args=\"%s\"" % (' '.join(signer_args),) print cmd status, output = commands.getstatusoutput(cmd) if status: @@ -254,10 +257,10 @@ def MakeVerityEnabledImage(out_file, fec_supported, prop_dict): block_dev = prop_dict["verity_block_device"] signer_key = prop_dict["verity_key"] + ".pk8" if OPTIONS.verity_signer_path is not None: - signer_path = OPTIONS.verity_signer_path + ' ' - signer_path += ' '.join(OPTIONS.verity_signer_args) + signer_path = OPTIONS.verity_signer_path else: signer_path = prop_dict["verity_signer_cmd"] + signer_args = OPTIONS.verity_signer_args # make a tempdir tempdir_name = tempfile.mkdtemp(suffix="_verity_images") @@ -276,7 +279,7 @@ def MakeVerityEnabledImage(out_file, fec_supported, prop_dict): root_hash = prop_dict["verity_root_hash"] salt = prop_dict["verity_salt"] if not BuildVerityMetadata(image_size, verity_metadata_path, root_hash, salt, - block_dev, signer_path, signer_key): + block_dev, signer_path, signer_key, signer_args): shutil.rmtree(tempdir_name, ignore_errors=True) return False -- 2.11.0