Merge "releasetools: Fix a mismatching close."
am: 395bf274b8

Change-Id: Idb5281ccc04e440fccec474e2d12c3443db1df9a
diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py
index 7d76dcb..dd8dcd0 100755
--- a/tools/releasetools/ota_from_target_files.py
+++ b/tools/releasetools/ota_from_target_files.py
@@ -1354,8 +1354,8 @@
     return value
 
   # Stage the output zip package for package signing.
-  temp_zip_file = tempfile.NamedTemporaryFile()
-  output_zip = zipfile.ZipFile(temp_zip_file, "w",
+  staging_file = common.MakeTempFile(suffix='.zip')
+  output_zip = zipfile.ZipFile(staging_file, "w",
                                compression=zipfile.ZIP_DEFLATED)
 
   if source_file is not None:
@@ -1410,10 +1410,6 @@
     else:
       print("Warning: cannot find care map file in target_file package")
 
-  # source_info must be None for full OTAs.
-  if source_file is None:
-    assert source_info is None
-
   AddCompatibilityArchiveIfTrebleEnabled(
       target_zip, output_zip, target_info, source_info)
 
@@ -1431,8 +1427,7 @@
   # compute the ZIP entry offsets, write back the final metadata and do the
   # final signing.
   prelim_signing = common.MakeTempFile(suffix='.zip')
-  SignOutput(temp_zip_file.name, prelim_signing)
-  common.ZipClose(temp_zip_file)
+  SignOutput(staging_file, prelim_signing)
 
   # Open the signed zip. Compute the final metadata that's needed for streaming.
   prelim_signing_zip = zipfile.ZipFile(prelim_signing, 'r')