summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kelvin Zhang <zhangkelvin@google.com> 2021-07-26 14:05:02 -0400
committer Kelvin Zhang <zhangkelvin@google.com> 2021-07-27 09:17:05 -0400
commita19fb315e00cba05c2805493f160f4c669ca65ab (patch)
treee3239a467ccccdf04e3f6fe9f166c3c77bc5b743
parentf2534303137504db3bcf4bad87f8b65363acb55e (diff)
Skip vbmeta_system if it doesn't exist
Test: validate_target_files bonito-target_files-7582772.zip Change-Id: I2da4f5a7897b1ef155e17441a8f5b97c0716d601
-rw-r--r--tools/releasetools/common.py4
-rwxr-xr-xtools/releasetools/validate_target_files.py10
2 files changed, 14 insertions, 0 deletions
diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py
index 0711af5270..c708154120 100644
--- a/tools/releasetools/common.py
+++ b/tools/releasetools/common.py
@@ -459,6 +459,10 @@ class BuildInfo(object):
def oem_props(self):
return self._oem_props
+ @property
+ def avb_enabled(self):
+ return self.get("avb_enable") == "true"
+
def __getitem__(self, key):
return self.info_dict[key]
diff --git a/tools/releasetools/validate_target_files.py b/tools/releasetools/validate_target_files.py
index cfe3139f81..622e57fa48 100755
--- a/tools/releasetools/validate_target_files.py
+++ b/tools/releasetools/validate_target_files.py
@@ -251,6 +251,9 @@ def symlinkIfNotExists(src, dst):
def ValidatePartitionFingerprints(input_tmp, info_dict):
build_info = common.BuildInfo(info_dict)
+ if not build_info.avb_enabled:
+ logging.info("AVB not enabled, skipping partition fingerprint checks")
+ return
# Expected format:
# Prop: com.android.build.vendor.fingerprint -> 'generic/aosp_cf_x86_64_phone/vsoc_x86_64:S/AOSP.MASTER/7335886:userdebug/test-keys'
# Prop: com.android.build.vendor_boot.fingerprint -> 'generic/aosp_cf_x86_64_phone/vsoc_x86_64:S/AOSP.MASTER/7335886:userdebug/test-keys'
@@ -258,6 +261,13 @@ def ValidatePartitionFingerprints(input_tmp, info_dict):
r"Prop: com.android.build.(?P<partition>\w+).fingerprint -> '(?P<fingerprint>[\w\/:\.-]+)'")
for vbmeta_partition in ["vbmeta", "vbmeta_system"]:
image = os.path.join(input_tmp, "IMAGES", vbmeta_partition + ".img")
+ if not os.path.exists(image):
+ assert vbmeta_partition != "vbmeta",\
+ "{} is a required partition for AVB.".format(
+ vbmeta_partition)
+ logging.info("vb partition %s not present, skipping", vbmeta_partition)
+ continue
+
output = common.RunAndCheckOutput(
[info_dict["avb_avbtool"], "info_image", "--image", image])
matches = p.findall(output)