releasetools: Fix a mismatching close.

There's a mismatch in WriteABOTAPackageWithBrilloScript().

  temp_zip_file = tempfile.NamedTemporaryFile()
  ...
  common.ZipClose(temp_zip_file)

It's benign since common.ZipClose() happens to be calling
"temp_zip_file.close()". This CL moves the use of tempfile to
common.MakeTempFile(), so that the tempfile will be cleaned up
automatically as part of the call to common.Cleanup(). (Not fixing the
close() directly, since the nearby lines will be refactored into another
function shortly.)

Also remove one assert in the same function, which trivially holds in
the current code.

Test: Generate an A/B OTA.
Change-Id: I53b375d1150820de718dec0ead55abf5f4951071
This commit is contained in:
Tao Bao
2018-03-01 19:31:38 -08:00
parent 1fa15d7491
commit a652c00c8e

View File

@@ -1354,8 +1354,8 @@ def WriteABOTAPackageWithBrilloScript(target_file, output_file,
return value return value
# Stage the output zip package for package signing. # Stage the output zip package for package signing.
temp_zip_file = tempfile.NamedTemporaryFile() staging_file = common.MakeTempFile(suffix='.zip')
output_zip = zipfile.ZipFile(temp_zip_file, "w", output_zip = zipfile.ZipFile(staging_file, "w",
compression=zipfile.ZIP_DEFLATED) compression=zipfile.ZIP_DEFLATED)
if source_file is not None: if source_file is not None:
@@ -1410,10 +1410,6 @@ def WriteABOTAPackageWithBrilloScript(target_file, output_file,
else: else:
print("Warning: cannot find care map file in target_file package") 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( AddCompatibilityArchiveIfTrebleEnabled(
target_zip, output_zip, target_info, source_info) target_zip, output_zip, target_info, source_info)
@@ -1431,8 +1427,7 @@ def WriteABOTAPackageWithBrilloScript(target_file, output_file,
# compute the ZIP entry offsets, write back the final metadata and do the # compute the ZIP entry offsets, write back the final metadata and do the
# final signing. # final signing.
prelim_signing = common.MakeTempFile(suffix='.zip') prelim_signing = common.MakeTempFile(suffix='.zip')
SignOutput(temp_zip_file.name, prelim_signing) SignOutput(staging_file, prelim_signing)
common.ZipClose(temp_zip_file)
# Open the signed zip. Compute the final metadata that's needed for streaming. # Open the signed zip. Compute the final metadata that's needed for streaming.
prelim_signing_zip = zipfile.ZipFile(prelim_signing, 'r') prelim_signing_zip = zipfile.ZipFile(prelim_signing, 'r')