releasetools: Explicitly pass the SHA-1 of source boot image to PatchCheck.

Although the SHA-1 of the source boot image has been encoded in the
filename, the updater code currently doesn't extract that and would fail
to find a matching backup from /cache. This could lead to corrupt
install, if it's interrupted while patching the boot image.

Bug: 80630342
Test: Generate an non-A/B incremental package. Verify the script.
Change-Id: Ie2b1a90836c3ccb4758e1a2d9b69a88de94ae0c7
This commit is contained in:
Tao Bao
2018-06-12 14:53:12 -07:00
parent e59bb32cb7
commit 6d8ec5803b

View File

@@ -1517,10 +1517,16 @@ else if get_stage("%(bcb_dev)s") != "3/3" then
common.ZipWriteStr(output_zip, "patch/boot.img.p", d)
# TODO(b/110106408): Remove after properly handling the SHA-1 embedded in
# the filename argument in updater code. Prior to that, explicitly list
# the SHA-1 of the source image, in case the updater tries to find a
# matching backup from /cache. Similarly for the call to
# script.ApplyPatch() below.
script.PatchCheck("%s:%s:%d:%s:%d:%s" %
(boot_type, boot_device,
source_boot.size, source_boot.sha1,
target_boot.size, target_boot.sha1))
target_boot.size, target_boot.sha1),
source_boot.sha1)
size.append(target_boot.size)
if size: