diff options
author | Michael Runge <mrunge@google.com> | 2015-02-11 19:28:08 -0800 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2015-03-13 11:36:14 -0700 |
commit | 910b005f183d95640df57e270989ad93e6a55769 (patch) | |
tree | e84d09feaad63c1dc989db8bd587eae0f263793e /tools/releasetools | |
parent | 105b94cc44dc3cec6df22ac6e80da8dcb3ffd031 (diff) | |
download | build-910b005f183d95640df57e270989ad93e6a55769.zip build-910b005f183d95640df57e270989ad93e6a55769.tar.gz build-910b005f183d95640df57e270989ad93e6a55769.tar.bz2 |
Do not use block_verify on target-files where feature is missing.
This will only be used when the block file format is at least
version 3. For V1/V2 (L, L MR1) block versions, fall back to
the old range_sha1 check.
Bug: 19357591
Change-Id: I7cb178b70d48ec3c98cdb88ed1c94cf7797a01d0
(cherry picked from commit cad78c12fbb44b6030bcc80823c010e65b9c3f37)
Diffstat (limited to 'tools/releasetools')
-rw-r--r-- | tools/releasetools/common.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 14975d5..4241b2b 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -1030,14 +1030,14 @@ class BlockDifference: self.partition = partition self.check_first_block = check_first_block - version = 1 + self.version = 1 if OPTIONS.info_dict: - version = max( + self.version = max( int(i) for i in OPTIONS.info_dict.get("blockimgdiff_versions", "1").split(",")) b = blockimgdiff.BlockImageDiff(tgt, src, threads=OPTIONS.worker_threads, - version=version) + version=self.version) tmpdir = tempfile.mkdtemp() OPTIONS.tempfiles.append(tmpdir) self.path = os.path.join(tmpdir, partition) @@ -1060,10 +1060,15 @@ class BlockDifference: if not self.src: script.Print("Image %s will be patched unconditionally." % (partition,)) else: - script.AppendExtra(('if block_image_verify("%s", ' - 'package_extract_file("%s.transfer.list"), ' - '"%s.new.dat", "%s.patch.dat") then') % - (self.device, partition, partition, partition)) + if self.version >= 3: + script.AppendExtra(('if block_image_verify("%s", ' + 'package_extract_file("%s.transfer.list"), ' + '"%s.new.dat", "%s.patch.dat") then') % + (self.device, partition, partition, partition)) + else: + script.AppendExtra('if range_sha1("%s", "%s") == "%s" then' % + (self.device, self.src.care_map.to_string_raw(), + self.src.TotalSha1())) script.Print("Verified %s image..." % (partition,)) script.AppendExtra('else'); |