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

Commit 602a84e0 authored by Doug Zongker's avatar Doug Zongker
Browse files

fix releasetools for non-linux architectures

The ota and img building scripts contained some hardcoded 'linux-x86'
paths.  Remove and replace with a slightly redefined -p option.
Modify Makefile to pass correct -p when building.
parent 1bc6248b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -880,6 +880,7 @@ $(INTERNAL_OTA_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR)
$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) otatools
	@echo "Package OTA: $@"
	$(hide) ./build/tools/releasetools/ota_from_target_files \
	   -p $(HOST_OUT) \
           -b $(TARGET_DEVICE_DIR)/BoardConfig.mk \
           -k $(KEY_CERT_PAIR) \
           $(BUILT_TARGET_FILES_PACKAGE) $@
@@ -1005,6 +1006,7 @@ INTERNAL_UPDATE_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip
$(INTERNAL_UPDATE_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) otatools
	@echo "Package: $@"
	$(hide) ./build/tools/releasetools/img_from_target_files \
	   -p $(HOST_OUT) \
	   -b $(TARGET_DEVICE_DIR)/BoardConfig.mk \
	   $(BUILT_TARGET_FILES_PACKAGE) $@

+19 −21
Original line number Diff line number Diff line
@@ -29,8 +29,7 @@ if not hasattr(os, "SEEK_SET"):

class Options(object): pass
OPTIONS = Options()
OPTIONS.signapk_jar = "out/host/linux-x86/framework/signapk.jar"
OPTIONS.dumpkey_jar = "out/host/linux-x86/framework/dumpkey.jar"
OPTIONS.search_path = "out/host/linux-x86"
OPTIONS.max_image_size = {}
OPTIONS.verbose = False
OPTIONS.tempfiles = []
@@ -145,7 +144,7 @@ def GetKeyPasswords(keylist):
      no_passwords.append(k)
      continue

    p = subprocess.Popen(["openssl", "pkcs8", "-in", k+".pk8",
    p = Run(["openssl", "pkcs8", "-in", k+".pk8",
             "-inform", "DER", "-nocrypt"],
            stdin=devnull.fileno(),
            stdout=devnull.fileno(),
@@ -179,7 +178,8 @@ def SignFile(input_name, output_name, key, password, align=None):
  else:
    sign_name = output_name

  p = subprocess.Popen(["java", "-jar", OPTIONS.signapk_jar,
  p = Run(["java", "-jar",
           os.path.join(OPTIONS.search_path, "framework", "signapk.jar"),
           key + ".x509.pem",
           key + ".pk8",
           input_name, sign_name],
@@ -192,7 +192,7 @@ def SignFile(input_name, output_name, key, password, align=None):
    raise ExternalError("signapk.jar failed: return code %s" % (p.returncode,))

  if align:
    p = subprocess.Popen(["zipalign", "-f", str(align), sign_name, output_name])
    p = Run(["zipalign", "-f", str(align), sign_name, output_name])
    p.communicate()
    if p.returncode != 0:
      raise ExternalError("zipalign failed: return code %s" % (p.returncode,))
@@ -221,8 +221,8 @@ def CheckSize(data, target):

COMMON_DOCSTRING = """
  -p  (--path)  <dir>
      Prepend <dir> to the list of places to search for binaries run
      by this script.
      Prepend <dir>/bin to the list of places to search for binaries
      run by this script, and expect to find jars in <dir>/framework.

  -v  (--verbose)
      Show command lines being executed.
@@ -264,15 +264,13 @@ def ParseOptions(argv,
    elif o in ("-v", "--verbose"):
      OPTIONS.verbose = True
    elif o in ("-p", "--path"):
      os.environ["PATH"] = a + os.pathsep + os.environ["PATH"]
      path_specified = True
      OPTIONS.search_path = a
    else:
      if extra_option_handler is None or not extra_option_handler(o, a):
        assert False, "unknown option \"%s\"" % (o,)

  if not path_specified:
    os.environ["PATH"] = ("out/host/linux-x86/bin" + os.pathsep +
                          os.environ["PATH"])
  os.environ["PATH"] = (os.path.join(OPTIONS.search_path, "bin") +
                        os.pathsep + os.environ["PATH"])

  return args

+3 −1
Original line number Diff line number Diff line
@@ -278,7 +278,9 @@ def ReplaceOtaKeys(input_tf_zip, output_tf_zip):
  # recovery uses a version of the key that has been slightly
  # predigested (by DumpPublicKey.java) and put in res/keys.

  p = common.Run(["java", "-jar", OPTIONS.dumpkey_jar] + mapped_keys,
  p = common.Run(["java", "-jar",
                  os.path.join(OPTIONS.search_path, "framework", "dumpkey.jar")]
                 + mapped_keys,
                 stdout=subprocess.PIPE)
  data, _ = p.communicate()
  if p.returncode != 0: