From 8821d644811d866f22bac4dc46c8cf5c188a6e48 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Mon, 5 Aug 2019 12:05:45 -0700 Subject: [PATCH] Build and use ota_from_target_files as a module. Bug: 63866463 Test: TreeHugger Test: m -j otapackage Test: `m -j otatools-package`. Check bin/ota_from_target_files is available. Build an OTA package with standalone otatools. Change-Id: I533dee1c6997d233601e7f4eae637ff5743ed637 --- core/Makefile | 40 +++++++++++------------------------ core/config.mk | 2 +- tools/releasetools/Android.bp | 16 ++++++++++++++ 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/core/Makefile b/core/Makefile index 40c374fe73..7b3065904b 100644 --- a/core/Makefile +++ b/core/Makefile @@ -3658,6 +3658,7 @@ INTERNAL_OTATOOLS_MODULES := \ mksquashfs \ mksquashfsimage.sh \ mkuserimg_mke2fs \ + ota_from_target_files \ sefcontext_compile \ sgdisk \ shflags \ @@ -4322,13 +4323,13 @@ ifeq ($(build_ota_package),true) # $(2): additional args define build-ota-package-target PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \ - build/make/tools/releasetools/ota_from_target_files \ - --verbose \ - --extracted_input_target_files $(patsubst %.zip,%,$(BUILT_TARGET_FILES_PACKAGE)) \ - --path $(HOST_OUT) \ - $(if $(OEM_OTA_CONFIG), --oem_settings $(OEM_OTA_CONFIG)) \ - $(2) \ - $(BUILT_TARGET_FILES_PACKAGE) $(1) + $(OTA_FROM_TARGET_FILES) \ + --verbose \ + --extracted_input_target_files $(patsubst %.zip,%,$(BUILT_TARGET_FILES_PACKAGE)) \ + --path $(HOST_OUT) \ + $(if $(OEM_OTA_CONFIG), --oem_settings $(OEM_OTA_CONFIG)) \ + $(2) \ + $(BUILT_TARGET_FILES_PACKAGE) $(1) endef name := $(TARGET_PRODUCT) @@ -4338,21 +4339,11 @@ endif name := $(name)-ota-$(FILE_NAME_TAG) INTERNAL_OTA_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip - INTERNAL_OTA_METADATA := $(PRODUCT_OUT)/ota_metadata $(INTERNAL_OTA_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR) - -ifeq ($(AB_OTA_UPDATER),true) -$(INTERNAL_OTA_PACKAGE_TARGET): $(BRILLO_UPDATE_PAYLOAD) -else -$(INTERNAL_OTA_PACKAGE_TARGET): $(BROTLI) -endif - $(INTERNAL_OTA_PACKAGE_TARGET): .KATI_IMPLICIT_OUTPUTS := $(INTERNAL_OTA_METADATA) - -$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) \ - build/make/tools/releasetools/ota_from_target_files +$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(OTA_FROM_TARGET_FILES) @echo "Package OTA: $@" $(call build-ota-package-target,$@,-k $(KEY_CERT_PAIR) --output_metadata_path $(INTERNAL_OTA_METADATA)) @@ -4367,17 +4358,10 @@ endif name := $(name)-ota-retrofit-$(FILE_NAME_TAG) INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip - $(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR) - -ifeq ($(AB_OTA_UPDATER),true) -$(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET): $(BRILLO_UPDATE_PAYLOAD) -else -$(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET): $(BROTLI) -endif - -$(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) \ - build/make/tools/releasetools/ota_from_target_files +$(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET): \ + $(BUILT_TARGET_FILES_PACKAGE) \ + $(OTA_FROM_TARGET_FILES) @echo "Package OTA (retrofit dynamic partitions): $@" $(call build-ota-package-target,$@,-k $(KEY_CERT_PAIR) --retrofit_dynamic_partitions) diff --git a/core/config.mk b/core/config.mk index ee87632e7f..db4edcb444 100644 --- a/core/config.mk +++ b/core/config.mk @@ -608,6 +608,7 @@ CHECK_ELF_FILE := build/make/tools/check_elf_file.py LPMAKE := $(HOST_OUT_EXECUTABLES)/lpmake$(HOST_EXECUTABLE_SUFFIX) BUILD_IMAGE := $(HOST_OUT_EXECUTABLES)/build_image$(HOST_EXECUTABLE_SUFFIX) BUILD_SUPER_IMAGE := $(HOST_OUT_EXECUTABLES)/build_super_image$(HOST_EXECUTABLE_SUFFIX) +OTA_FROM_TARGET_FILES := $(HOST_OUT_EXECUTABLES)/ota_from_target_files$(HOST_EXECUTABLE_SUFFIX) PROGUARD_HOME := external/proguard PROGUARD := $(PROGUARD_HOME)/bin/proguard.sh @@ -623,7 +624,6 @@ BOOT_SIGNER := $(HOST_OUT_EXECUTABLES)/boot_signer FUTILITY := $(HOST_OUT_EXECUTABLES)/futility-host VBOOT_SIGNER := $(HOST_OUT_EXECUTABLES)/vboot_signer FEC := $(HOST_OUT_EXECUTABLES)/fec -BRILLO_UPDATE_PAYLOAD := $(HOST_OUT_EXECUTABLES)/brillo_update_payload DEXDUMP := $(HOST_OUT_EXECUTABLES)/dexdump$(BUILD_EXECUTABLE_SUFFIX) PROFMAN := $(HOST_OUT_EXECUTABLES)/profman diff --git a/tools/releasetools/Android.bp b/tools/releasetools/Android.bp index 40cdce8b99..34e75c0282 100644 --- a/tools/releasetools/Android.bp +++ b/tools/releasetools/Android.bp @@ -119,6 +119,22 @@ python_binary_host { ], } +python_binary_host { + name: "ota_from_target_files", + defaults: ["releasetools_binary_defaults"], + srcs: [ + "edify_generator.py", + "ota_from_target_files.py", + ], + libs: [ + "releasetools_common", + "releasetools_verity_utils", + ], + required: [ + "brillo_update_payload", + ], +} + python_defaults { name: "releasetools_test_defaults", srcs: [