verify system and vendor image together before patching.

Change-Id: Ia43657ed6cd8860b0edb78cc2dd6388c761e1f8b
Bug: 17919909
This commit is contained in:
Jesse Zhao
2015-01-06 10:59:53 -08:00
committed by Xi Zhao
parent 02be18043c
commit 75bcea0267
2 changed files with 16 additions and 5 deletions

View File

@@ -1048,9 +1048,16 @@ class BlockDifference:
def WriteScript(self, script, output_zip, progress=None): def WriteScript(self, script, output_zip, progress=None):
if not self.src: if not self.src:
# write the output unconditionally # write the output unconditionally
if progress: script.ShowProgress(progress, 0) script.Print("Patching %s image unconditionally..." % (self.partition,))
self._WriteUpdate(script, output_zip) else:
script.Print("Patching %s image after verification." % (self.partition,))
if progress: script.ShowProgress(progress, 0)
self._WriteUpdate(script, output_zip)
def WriteVerifyScript(self, script):
if not self.src:
script.Print("Image %s will be patched unconditionally." % (self.partition,))
else: else:
if self.check_first_block: if self.check_first_block:
self._CheckFirstBlock(script) self._CheckFirstBlock(script)
@@ -1058,9 +1065,7 @@ class BlockDifference:
script.AppendExtra('if range_sha1("%s", "%s") == "%s" then' % script.AppendExtra('if range_sha1("%s", "%s") == "%s" then' %
(self.device, self.src.care_map.to_string_raw(), (self.device, self.src.care_map.to_string_raw(),
self.src.TotalSha1())) self.src.TotalSha1()))
script.Print("Patching %s image..." % (self.partition,)) script.Print("Verified %s image..." % (self.partition,))
if progress: script.ShowProgress(progress, 0)
self._WriteUpdate(script, output_zip)
script.AppendExtra(('else\n' script.AppendExtra(('else\n'
' (range_sha1("%s", "%s") == "%s") ||\n' ' (range_sha1("%s", "%s") == "%s") ||\n'
' abort("%s partition has unexpected contents");\n' ' abort("%s partition has unexpected contents");\n'

View File

@@ -558,6 +558,7 @@ else if get_stage("%(bcb_dev)s") == "3/3" then
system_items = ItemSet("system", "META/filesystem_config.txt") system_items = ItemSet("system", "META/filesystem_config.txt")
script.ShowProgress(system_progress, 0) script.ShowProgress(system_progress, 0)
if block_based: if block_based:
# Full OTA is done as an "incremental" against an empty source # Full OTA is done as an "incremental" against an empty source
# image. This has the effect of writing new data from the package # image. This has the effect of writing new data from the package
@@ -845,6 +846,11 @@ reboot_now("%(bcb_dev)s", "");
else else
""" % bcb_dev) """ % bcb_dev)
# Verify the existing partitions.
system_diff.WriteVerifyScript(script)
if vendor_diff:
vendor_diff.WriteVerifyScript(script)
script.Comment("---- start making changes here ----") script.Comment("---- start making changes here ----")
device_specific.IncrementalOTA_InstallBegin() device_specific.IncrementalOTA_InstallBegin()