diff options
Diffstat (limited to 'tools/releasetools/common.py')
-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'); |