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

Commit e153b346 authored by Takeshi Kanemoto's avatar Takeshi Kanemoto Committed by David Pursehouse
Browse files

ota_from_target_files: Add an option to not sign OTA packages

Sometimes it is useful to be able to tell ota_from_target_files
to not sign the output zip file. For instance, the private
release key may not be available when ota_from_target_files
is executed; similarly the release tools may not be available
or executable where the private key is stored.

This change adds an option, '--no_signing', to simply output the
unsigned OTA zip file, instead of spuriously signing it with the
test key even though the zip file would need to be re-signed later
with a different key.

Change-Id: I1f3c4dc8ffa35ce85478f848b147aff3d40fe283
parent 7c7f28e7
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ OPTIONS.omit_prereq = False
OPTIONS.extra_script = None
OPTIONS.aslr_mode = True
OPTIONS.worker_threads = 3
OPTIONS.no_signing = False

def MostPopularKey(d, default):
  """Given a dict, return the key corresponding to the largest
@@ -822,6 +823,8 @@ def main(argv):
        OPTIONS.aslr_mode = False
    elif o in ("--worker_threads"):
      OPTIONS.worker_threads = int(a)
    elif o in ("--no_signing"):
      OPTIONS.no_signing = True
    else:
      return False
    return True
@@ -836,6 +839,7 @@ def main(argv):
                                              "extra_script=",
                                              "worker_threads=",
                                              "aslr_mode=",
                                              "no_signing",
                                              ],
                             extra_option_handler=option_handler)

@@ -870,6 +874,9 @@ def main(argv):
    OPTIONS.device_specific = os.path.normpath(OPTIONS.device_specific)
    print "using device-specific extensions in", OPTIONS.device_specific

  if OPTIONS.no_signing:
    output_zip = zipfile.ZipFile(args[1], "w", compression=zipfile.ZIP_DEFLATED)
  else:
    temp_zip_file = tempfile.NamedTemporaryFile()
    output_zip = zipfile.ZipFile(temp_zip_file, "w",
                                 compression=zipfile.ZIP_DEFLATED)
@@ -896,6 +903,7 @@ def main(argv):

  output_zip.close()

  if not OPTIONS.no_signing:
    SignOutput(temp_zip_file.name, args[1])
    temp_zip_file.close()