forked from openkylin/platform_build
Merge "releasetools: Fix the support for getting reproducible images."
This commit is contained in:
commit
17f505e7ea
|
@ -337,13 +337,8 @@ def CreateImage(input_dir, info_dict, what, output_file, block_list=None):
|
|||
|
||||
# Use repeatable ext4 FS UUID and hash_seed UUID (based on partition name and
|
||||
# build fingerprint).
|
||||
uuid_seed = what + "-"
|
||||
if "build.prop" in info_dict:
|
||||
build_prop = info_dict["build.prop"]
|
||||
if "ro.build.fingerprint" in build_prop:
|
||||
uuid_seed += build_prop["ro.build.fingerprint"]
|
||||
elif "ro.build.thumbprint" in build_prop:
|
||||
uuid_seed += build_prop["ro.build.thumbprint"]
|
||||
build_info = common.BuildInfo(info_dict)
|
||||
uuid_seed = what + "-" + build_info.fingerprint
|
||||
image_props["uuid"] = str(uuid.uuid5(uuid.NAMESPACE_URL, uuid_seed))
|
||||
hash_seed = "hash_seed-" + uuid_seed
|
||||
image_props["hash_seed"] = str(uuid.uuid5(uuid.NAMESPACE_URL, hash_seed))
|
||||
|
@ -728,7 +723,7 @@ def AddImagesToTargetFiles(filename):
|
|||
|
||||
# A map between partition names and their paths, which could be used when
|
||||
# generating AVB vbmeta image.
|
||||
partitions = dict()
|
||||
partitions = {}
|
||||
|
||||
def banner(s):
|
||||
logger.info("\n\n++++ %s ++++\n\n", s)
|
||||
|
|
|
@ -319,7 +319,7 @@ class BuildInfo(object):
|
|||
_RO_PRODUCT_PROPS_DEFAULT_SOURCE_ORDER = ["product", "odm", "vendor",
|
||||
"system_ext", "system"]
|
||||
|
||||
def __init__(self, info_dict, oem_dicts):
|
||||
def __init__(self, info_dict, oem_dicts=None):
|
||||
"""Initializes a BuildInfo instance with the given dicts.
|
||||
|
||||
Note that it only wraps up the given dicts, without making copies.
|
||||
|
@ -628,18 +628,11 @@ def LoadInfoDict(input_file, repacking=False):
|
|||
read_helper, "{}/etc/build.prop".format(partition.upper()))
|
||||
d["build.prop"] = d["system.build.prop"]
|
||||
|
||||
# Set up the salt (based on fingerprint or thumbprint) that will be used when
|
||||
# adding AVB footer.
|
||||
# Set up the salt (based on fingerprint) that will be used when adding AVB
|
||||
# hash / hashtree footers.
|
||||
if d.get("avb_enable") == "true":
|
||||
fp = None
|
||||
if "build.prop" in d:
|
||||
build_prop = d["build.prop"]
|
||||
if "ro.build.fingerprint" in build_prop:
|
||||
fp = build_prop["ro.build.fingerprint"]
|
||||
elif "ro.build.thumbprint" in build_prop:
|
||||
fp = build_prop["ro.build.thumbprint"]
|
||||
if fp:
|
||||
d["avb_salt"] = sha256(fp).hexdigest()
|
||||
build_info = BuildInfo(d)
|
||||
d["avb_salt"] = sha256(build_info.fingerprint).hexdigest()
|
||||
|
||||
return d
|
||||
|
||||
|
@ -883,8 +876,7 @@ def GetAvbPartitionArg(partition, image, info_dict=None):
|
|||
if key_path:
|
||||
chained_partition_arg = GetAvbChainedPartitionArg(partition, info_dict)
|
||||
return ["--chain_partition", chained_partition_arg]
|
||||
else:
|
||||
return ["--include_descriptors_from_image", image]
|
||||
return ["--include_descriptors_from_image", image]
|
||||
|
||||
|
||||
def GetAvbChainedPartitionArg(partition, info_dict, key=None):
|
||||
|
|
Loading…
Reference in New Issue