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

Commit eb147e05 authored by Kelvin Zhang's avatar Kelvin Zhang
Browse files

Fix ota build error when using boot variable files

When performing a deep copy of info dict, input_file is serialized as
filename. Make ExtractFromInputFile support reading from filename of a
ZipFile.

Test: build OTA with partner provided target_files
Bug: 253549364
Change-Id: I366a076c32d638d61b83a1df9bf864807cf5257c
parent 5ef25191
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -723,7 +723,16 @@ def ExtractFromInputFile(input_file, fn):
    with open(tmp_file, 'wb') as f:
    with open(tmp_file, 'wb') as f:
      f.write(input_file.read(fn))
      f.write(input_file.read(fn))
    return tmp_file
    return tmp_file
  elif zipfile.is_zipfile(input_file):
    with zipfile.ZipFile(input_file, "r", allowZip64=True) as zfp:
      tmp_file = MakeTempFile(os.path.basename(fn))
      with open(tmp_file, "wb") as fp:
        fp.write(zfp.read(fn))
      return tmp_file
  else:
  else:
    if not os.path.isdir(input_file):
      raise ValueError(
          "Invalid input_file, accepted inputs are ZipFile object, path to .zip file on disk, or path to extracted directory. Actual: " + input_file)
    file = os.path.join(input_file, *fn.split("/"))
    file = os.path.join(input_file, *fn.split("/"))
    if not os.path.exists(file):
    if not os.path.exists(file):
      raise KeyError(fn)
      raise KeyError(fn)