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

Commit 8bec09ee authored by Doug Zongker's avatar Doug Zongker
Browse files

add 'extras' mechanism to OTA and signing tools

Add the -x option which allows arbitrary key-value pairs to be passed
into the device-specific module for doing signing and OTA packaging.
parent 2b80317b
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ OPTIONS.max_image_size = {}
OPTIONS.verbose = False
OPTIONS.tempfiles = []
OPTIONS.device_specific = None
OPTIONS.extras = {}

class ExternalError(RuntimeError): pass

@@ -259,6 +260,10 @@ COMMON_DOCSTRING = """
      Path to the python module containing device-specific
      releasetools code.

  -x  (--extra)  <key=value>
      Add a key/value pair to the 'extras' dict, which device-specific
      extension code may look at.

  -v  (--verbose)
      Show command lines being executed.

@@ -283,8 +288,8 @@ def ParseOptions(argv,

  try:
    opts, args = getopt.getopt(
        argv, "hvp:s:" + extra_opts,
        ["help", "verbose", "path=", "device_specific="] +
        argv, "hvp:s:x:" + extra_opts,
        ["help", "verbose", "path=", "device_specific=", "extra="] +
          list(extra_long_opts))
  except getopt.GetoptError, err:
    Usage(docstring)
@@ -303,6 +308,9 @@ def ParseOptions(argv,
      OPTIONS.search_path = a
    elif o in ("-s", "--device_specific"):
      OPTIONS.device_specific = a
    elif o in ("-x" "--extra"):
      key, value = a.split("=", 1)
      OPTIONS.extras[key] = value
    else:
      if extra_option_handler is None or not extra_option_handler(o, a):
        assert False, "unknown option \"%s\"" % (o,)
@@ -437,6 +445,7 @@ class DeviceSpecificParams(object):
    module."""
    for k, v in kwargs.iteritems():
      setattr(self, k, v)
    self.extras = OPTIONS.extras

    if self.module is None:
      path = OPTIONS.device_specific