diff --git a/tools/releasetools/check_target_files_signatures.py b/tools/releasetools/check_target_files_signatures.py index 3048488d3..f9aa4fa8b 100755 --- a/tools/releasetools/check_target_files_signatures.py +++ b/tools/releasetools/check_target_files_signatures.py @@ -235,7 +235,7 @@ class TargetFiles(object): self.certmap = None def LoadZipFile(self, filename): - d, z = common.UnzipTemp(filename, '*.apk') + d, z = common.UnzipTemp(filename, ['*.apk']) try: self.apks = {} self.apks_by_basename = {} diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index f1747475c..2b975181b 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -564,7 +564,7 @@ def UnzipTemp(filename, pattern=None): def unzip_to_dir(filename, dirname): cmd = ["unzip", "-o", "-q", filename, "-d", dirname] if pattern is not None: - cmd.append(pattern) + cmd.extend(pattern) p = Run(cmd, stdout=subprocess.PIPE) p.communicate() if p.returncode != 0: diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py index be01a6d34..f6b60ad84 100755 --- a/tools/releasetools/ota_from_target_files.py +++ b/tools/releasetools/ota_from_target_files.py @@ -184,6 +184,8 @@ OPTIONS.payload_signer = None OPTIONS.payload_signer_args = [] METADATA_NAME = 'META-INF/com/android/metadata' +UNZIP_PATTERN = ['IMAGES/*', 'META/*'] + def MostPopularKey(d, default): """Given a dict, return the key corresponding to the largest @@ -2214,7 +2216,8 @@ def main(argv): OPTIONS.extra_script = open(OPTIONS.extra_script).read() print("unzipping target target-files...") - OPTIONS.input_tmp, input_zip = common.UnzipTemp(args[0]) + OPTIONS.input_tmp, input_zip = common.UnzipTemp( + args[0], UNZIP_PATTERN if OPTIONS.block_based else None) OPTIONS.target_tmp = OPTIONS.input_tmp OPTIONS.info_dict = common.LoadInfoDict(input_zip, OPTIONS.target_tmp) @@ -2282,7 +2285,8 @@ def main(argv): else: print("unzipping source target-files...") OPTIONS.source_tmp, source_zip = common.UnzipTemp( - OPTIONS.incremental_source) + OPTIONS.incremental_source, + UNZIP_PATTERN if OPTIONS.block_based else None) OPTIONS.target_info_dict = OPTIONS.info_dict OPTIONS.source_info_dict = common.LoadInfoDict(source_zip, OPTIONS.source_tmp)