def BuildVerityMetadata(image_size, verity_metadata_path, root_hash, salt, block_device, signer_path, key, signer_args): verity_key = os.getenv("PRODUCT_VERITY_KEY", None) verity_key_password = None if verity_key and os.path.exists(verity_key + ".pk8"): verity_key_passwords = {} verity_key_passwords.update(common.PasswordManager().GetPasswords( verity_key.split())) verity_key_password = verity_key_passwords[verity_key] cmd_template = ("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 runcmd = [ "system/extras/verity/build_verity_metadata.py", image_size, verity_metadata_path, root_hash, salt, block_device, signer_path, key ] if verity_key_password is not None: sp = subprocess.Popen(runcmd, stdin=subprocess.PIPE) sp.communicate(verity_key_password) else: sp = subprocess.Popen(runcmd) sp.wait() if sp.returncode != 0: print("Could not build verity metadata!") return False return True
def BuildVerityMetadata(image_size, verity_metadata_path, root_hash, salt, block_device, signer_path, key, signer_args): verity_key = os.getenv("PRODUCT_VERITY_KEY", None) verity_key_password = None if verity_key and os.path.exists(verity_key + ".pk8"): verity_key_passwords = {} verity_key_passwords.update(common.PasswordManager().GetPasswords( verity_key.split())) verity_key_password = verity_key_passwords[verity_key] cmd_template = ("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: print("Could not build verity metadata! Error: %s" % output) return False return True