Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc04f552 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix signing failure when no entry to convert to store" am: ea586a8d...

Merge "Fix signing failure when no entry to convert to store" am: ea586a8d am: 8e9b39e0 am: 9c03d6a6 am: b3c67ad4

Original change: https://android-review.googlesource.com/c/platform/build/+/1978755

Change-Id: I5a28c53819b7b7f99851cddb3ff0f7363c6c11d4
parents 0a6ab277 b3c67ad4
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ import verity_utils
import ota_metadata_pb2

from apex_utils import GetApexInfoFromTargetFiles
from common import AddCareMapForAbOta
from common import AddCareMapForAbOta, ZipDelete

if sys.hexversion < 0x02070000:
  print("Python 2.7 or newer is required.", file=sys.stderr)
@@ -1034,9 +1034,10 @@ def OptimizeCompressedEntries(zipfile_path):
        if zinfo.compress_size > zinfo.file_size * 0.80 and zinfo.compress_type != zipfile.ZIP_STORED:
          entries_to_store.append(zinfo)
          zfp.extract(zinfo, tmpdir)
    if len(entries_to_store) == 0:
      return
    # Remove these entries, then re-add them as ZIP_STORED
    common.RunAndCheckOutput(
        ["zip", "-d", zipfile_path] + [entry.filename for entry in entries_to_store])
    ZipDelete(zipfile_path, [entry.filename for entry in entries_to_store])
    with zipfile.ZipFile(zipfile_path, "a", allowZip64=True) as zfp:
      for entry in entries_to_store:
        zfp.write(os.path.join(tmpdir, entry.filename), entry.filename, compress_type=zipfile.ZIP_STORED)
+3 −0
Original line number Diff line number Diff line
@@ -2818,6 +2818,9 @@ def ZipDelete(zip_filename, entries):
  """
  if isinstance(entries, str):
    entries = [entries]
  # If list is empty, nothing to do
  if not entries:
    return
  cmd = ["zip", "-d", zip_filename] + entries
  RunAndCheckOutput(cmd)

+0 −3
Original line number Diff line number Diff line
@@ -1530,8 +1530,5 @@ def main(argv):
if __name__ == '__main__':
  try:
    main(sys.argv[1:])
  except common.ExternalError as e:
    print("\n   ERROR: %s\n" % (e,))
    raise
  finally:
    common.Cleanup()