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

Commit c18736b1 authored by Doug Zongker's avatar Doug Zongker
Browse files

remember device-specific releasetools extensions in target-files

Store the location of the releasetools extensions in the target-files
zip, and make ota_from_target_files use that stored location by
default (though it can still be overridden with -s if desired).
parent c3c136c4
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -814,6 +814,13 @@ $(BUILT_TARGET_FILES_PACKAGE): PRIVATE_OTA_TOOLS := $(built_ota_tools)

$(BUILT_TARGET_FILES_PACKAGE): PRIVATE_RECOVERY_API_VERSION := $(RECOVERY_API_VERSION)

ifeq ($(TARGET_RELEASETOOLS_EXTENSIONS),)
# default to common dir for device vendor
$(BUILT_TARGET_FILES_PACKAGE): tool_extensions := $(TARGET_DEVICE_DIR)/../common
else
$(BUILT_TARGET_FILES_PACKAGE): tool_extensions := $(TARGET_RELEASETOOLS_EXTENSIONS)
endif

# Depending on the various images guarantees that the underlying
# directories are up-to-date.
$(BUILT_TARGET_FILES_PACKAGE): \
@@ -887,6 +894,7 @@ endif
	$(hide) echo "recovery $(call image-size-from-data-size,$(BOARD_RECOVERYIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/imagesizes.txt
	$(hide) echo "system $(call image-size-from-data-size,$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/imagesizes.txt
	$(hide) echo "userdata $(call image-size-from-data-size,$(BOARD_USERDATAIMAGE_PARTITION_SIZE))" >> $(zip_root)/META/imagesizes.txt
	$(hide) echo "$(tool_extensions)" > $(zip_root)/META/tool-extensions.txt
	@# Zip everything up, preserving symlinks
	$(hide) (cd $(zip_root) && zip -qry ../$(notdir $@) .)

@@ -909,13 +917,6 @@ INTERNAL_OTA_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip

$(INTERNAL_OTA_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR)

ifeq ($(TARGET_RELEASETOOLS_EXTENSIONS),)
# default to common dir for device vendor
$(INTERNAL_OTA_PACKAGE_TARGET): extensions := $(TARGET_DEVICE_DIR)/../common
else
$(INTERNAL_OTA_PACKAGE_TARGET): extensions := $(TARGET_RELEASETOOLS_EXTENSIONS)
endif

ifeq ($(TARGET_OTA_SCRIPT_MODE),)
# default to "auto"
$(INTERNAL_OTA_PACKAGE_TARGET): scriptmode := auto
@@ -926,7 +927,7 @@ endif
$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) otatools
	@echo "Package OTA: $@"
	$(hide) ./build/tools/releasetools/ota_from_target_files \
	   -s $(extensions) -m $(scriptmode) \
	   -m $(scriptmode) \
	   -p $(HOST_OUT) \
           -k $(KEY_CERT_PAIR) \
           $(BUILT_TARGET_FILES_PACKAGE) $@
+1 −1
Original line number Diff line number Diff line
@@ -440,7 +440,7 @@ class DeviceSpecificParams(object):

    if self.module is None:
      path = OPTIONS.device_specific
      if path is None: return
      if not path: return
      try:
        if os.path.isdir(path):
          info = imp.find_module("releasetools", [path])
+18 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ if sys.hexversion < 0x02040000:
  sys.exit(1)

import copy
import errno
import os
import re
import sha
@@ -855,6 +856,23 @@ def main(argv):
  print "unzipping target target-files..."
  OPTIONS.input_tmp = common.UnzipTemp(args[0])

  if OPTIONS.device_specific is None:
    # look for the device-specific tools extension location in the input
    try:
      f = open(os.path.join(OPTIONS.input_tmp, "META", "tool-extensions.txt"))
      ds = f.read().strip()
      f.close()
      if ds:
        ds = os.path.normpath(ds)
        print "using device-specific extensions in", ds
        OPTIONS.device_specific = ds
    except IOError, e:
      if e.errno == errno.ENOENT:
        # nothing specified in the file
        pass
      else:
        raise

  common.LoadMaxSizes()
  if not OPTIONS.max_image_size:
    print