Merge "releasetools: compare size between compressed and patch while build otapackage"

This commit is contained in:
Tao Bao 2016-11-05 00:09:35 +00:00 committed by Gerrit Code Review
commit 49758959f2
2 changed files with 4 additions and 3 deletions

View File

@ -1203,10 +1203,11 @@ class DeviceSpecificParams(object):
return self._DoCall("VerifyOTA_Assertions")
class File(object):
def __init__(self, name, data):
def __init__(self, name, data, compress_size = None):
self.name = name
self.data = data
self.size = len(data)
self.compress_size = compress_size or self.size
self.sha1 = sha1(data).hexdigest()
@classmethod

View File

@ -748,7 +748,7 @@ def LoadPartitionFiles(z, partition):
basefilename = info.filename[len(prefix):]
fn = partition + "/" + basefilename
data = z.read(info.filename)
out[fn] = common.File(fn, data)
out[fn] = common.File(fn, data, info.compress_size)
return out
@ -1379,7 +1379,7 @@ class FileDifference(object):
for diff in diffs:
tf, sf, d = diff.GetPatch()
path = "/".join(tf.name.split("/")[:-1])
if d is None or len(d) > tf.size * OPTIONS.patch_threshold or \
if d is None or len(d) > tf.compress_size * OPTIONS.patch_threshold or \
path not in known_paths:
# patch is almost as big as the file; don't bother patching
# or a patch + rename cannot take place due to the target