Merge "Compute the needed shared libs for otatools."

This commit is contained in:
Treehugger Robot
2019-05-08 03:44:33 +00:00
committed by Gerrit Code Review

View File

@@ -3482,131 +3482,112 @@ else
endif endif
ifeq ($(build_otatools_package),true) ifeq ($(build_otatools_package),true)
OTATOOLS := $(HOST_OUT_EXECUTABLES)/minigzip \
$(HOST_OUT_EXECUTABLES)/aapt \ INTERNAL_OTATOOLS_MODULES := \
$(HOST_OUT_EXECUTABLES)/checkvintf \ aapt \
$(HOST_OUT_EXECUTABLES)/mkbootfs \ append2simg \
$(HOST_OUT_EXECUTABLES)/mkbootimg \ avbtool \
$(HOST_OUT_EXECUTABLES)/fs_config \ blk_alloc_to_base_fs \
$(HOST_OUT_EXECUTABLES)/zipalign \ boot_signer \
$(HOST_OUT_EXECUTABLES)/bsdiff \ brillo_update_payload \
$(HOST_OUT_EXECUTABLES)/imgdiff \ brotli \
$(HOST_OUT_JAVA_LIBRARIES)/signapk.jar \ bsdiff \
$(HOST_OUT_JAVA_LIBRARIES)/boot_signer.jar \ build_verity_metadata \
$(HOST_OUT_JAVA_LIBRARIES)/verity_signer.jar \ build_verity_tree \
$(HOST_OUT_EXECUTABLES)/mke2fs \ care_map_generator \
$(HOST_OUT_EXECUTABLES)/mkuserimg_mke2fs \ checkvintf \
$(HOST_OUT_EXECUTABLES)/e2fsdroid \ delta_generator \
$(HOST_OUT_EXECUTABLES)/tune2fs \ e2fsck \
$(HOST_OUT_EXECUTABLES)/mksquashfsimage.sh \ e2fsdroid \
$(HOST_OUT_EXECUTABLES)/mksquashfs \ fc_sort \
$(HOST_OUT_EXECUTABLES)/mkf2fsuserimg.sh \ fec \
$(HOST_OUT_EXECUTABLES)/make_f2fs \ fs_config \
$(HOST_OUT_EXECUTABLES)/sload_f2fs \ generate_verity_key \
$(HOST_OUT_EXECUTABLES)/simg2img \ img2simg \
$(HOST_OUT_EXECUTABLES)/e2fsck \ imgdiff \
$(HOST_OUT_EXECUTABLES)/generate_verity_key \ libconscrypt_openjdk_jni \
$(HOST_OUT_EXECUTABLES)/verity_signer \ lpmake \
$(HOST_OUT_EXECUTABLES)/verity_verifier \ make_f2fs \
$(HOST_OUT_EXECUTABLES)/append2simg \ minigzip \
$(HOST_OUT_EXECUTABLES)/img2simg \ mkbootfs \
$(HOST_OUT_EXECUTABLES)/boot_signer \ mkbootimg \
$(HOST_OUT_EXECUTABLES)/fec \ mke2fs \
$(HOST_OUT_EXECUTABLES)/brillo_update_payload \ mke2fs.conf \
$(HOST_OUT_EXECUTABLES)/lib/shflags/shflags \ mkf2fsuserimg.sh \
$(HOST_OUT_EXECUTABLES)/delta_generator \ mksquashfs \
$(HOST_OUT_EXECUTABLES)/care_map_generator \ mksquashfsimage.sh \
$(HOST_OUT_EXECUTABLES)/fc_sort \ mkuserimg_mke2fs \
$(HOST_OUT_EXECUTABLES)/sefcontext_compile \ sefcontext_compile \
$(LPMAKE) \ shflags \
$(AVBTOOL) \ signapk \
$(BLK_ALLOC_TO_BASE_FS) \ simg2img \
$(BROTLI) \ sload_f2fs \
$(BUILD_VERITY_METADATA) \ tune2fs \
$(BUILD_VERITY_TREE) verity_signer \
verity_verifier \
zipalign \
ifeq (true,$(PRODUCT_SUPPORTS_VBOOT)) ifeq (true,$(PRODUCT_SUPPORTS_VBOOT))
OTATOOLS += \ INTERNAL_OTATOOLS_MODULES += \
$(FUTILITY) \ futility \
$(VBOOT_SIGNER) vboot_signer
endif endif
# Shared libraries. INTERNAL_OTATOOLS_FILES := \
OTATOOLS += \ $(filter $(HOST_OUT)/%,$(call module-installed-files,$(INTERNAL_OTATOOLS_MODULES)))
$(HOST_LIBRARY_PATH)/libc++$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/liblog$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libcutils$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libselinux$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libcrypto_utils$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libcrypto-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libext2fs-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libext2_blkid-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libext2_com_err-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libext2_e2p-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libext2_quota-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libext2_uuid-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libconscrypt_openjdk_jni$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libbrillo$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libbrillo-stream$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libchrome$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libevent-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libprotobuf-cpp-lite$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libssl-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libz-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libsparse-host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libbase$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libpcre2$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libbrotli$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/liblp$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libext4_utils$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libfec$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libsquashfs_utils$(HOST_SHLIB_SUFFIX)
.PHONY: otatools .PHONY: otatools
otatools: $(OTATOOLS) otatools: $(INTERNAL_OTATOOLS_FILES)
BUILT_OTATOOLS_PACKAGE := $(PRODUCT_OUT)/otatools.zip # For each module, recursively resolve its host shared library dependencies. Then we have a full
$(BUILT_OTATOOLS_PACKAGE): zip_root := $(call intermediates-dir-for,PACKAGING,otatools)/otatools # list of modules whose installed files need to be packed.
INTERNAL_OTATOOLS_MODULES_WITH_DEPS := \
$(sort $(INTERNAL_OTATOOLS_MODULES) \
$(foreach m,$(INTERNAL_OTATOOLS_MODULES),$(call get-all-shared-libs-deps,$(m))))
OTATOOLS_DEPS := \ INTERNAL_OTATOOLS_PACKAGE_FILES := \
system/extras/ext4_utils/mke2fs.conf \ $(filter $(HOST_OUT)/%,$(call module-installed-files,$(INTERNAL_OTATOOLS_MODULES_WITH_DEPS)))
$(sort $(shell find build/make/target/product/security -type f -name "*.x509.pem" -o -name "*.pk8" -o \
-name verity_key)) INTERNAL_OTATOOLS_PACKAGE_FILES += \
$(sort $(shell find build/make/target/product/security -type f -name "*.x509.pem" -o \
-name "*.pk8" -o -name verity_key))
ifneq (,$(wildcard device)) ifneq (,$(wildcard device))
OTATOOLS_DEPS += \ INTERNAL_OTATOOLS_PACKAGE_FILES += \
$(sort $(shell find device $(wildcard vendor) -type f -name "*.pk8" -o -name "verifiedboot*" -o \ $(sort $(shell find device $(wildcard vendor) -type f -name "*.pk8" -o -name "verifiedboot*" -o \
-name "*.x509.pem" -o -name "oem*.prop")) -name "*.x509.pem" -o -name "oem*.prop"))
endif endif
ifneq (,$(wildcard external/avb)) ifneq (,$(wildcard external/avb))
OTATOOLS_DEPS += \ INTERNAL_OTATOOLS_PACKAGE_FILES += \
$(sort $(shell find external/avb/test/data -type f -name "testkey_*.pem" -o \ $(sort $(shell find external/avb/test/data -type f -name "testkey_*.pem" -o \
-name "atx_metadata.bin")) -name "atx_metadata.bin"))
endif endif
ifneq (,$(wildcard system/update_engine)) ifneq (,$(wildcard system/update_engine))
OTATOOLS_DEPS += \ INTERNAL_OTATOOLS_PACKAGE_FILES += \
$(sort $(shell find system/update_engine/scripts -name "*.pyc" -prune -o -type f -print)) $(sort $(shell find system/update_engine/scripts -name "*.pyc" -prune -o -type f -print))
endif endif
OTATOOLS_RELEASETOOLS := \
$(sort $(shell find build/make/tools/releasetools -name "*.pyc" -prune -o -type f))
ifeq (true,$(PRODUCT_SUPPORTS_VBOOT)) ifeq (true,$(PRODUCT_SUPPORTS_VBOOT))
OTATOOLS_DEPS += \ INTERNAL_OTATOOLS_PACKAGE_FILES += \
$(sort $(shell find external/vboot_reference/tests/devkeys -type f)) $(sort $(shell find external/vboot_reference/tests/devkeys -type f))
endif endif
$(BUILT_OTATOOLS_PACKAGE): $(OTATOOLS) $(OTATOOLS_DEPS) $(OTATOOLS_RELEASETOOLS) $(SOONG_ZIP) INTERNAL_OTATOOLS_RELEASETOOLS := \
$(sort $(shell find build/make/tools/releasetools -name "*.pyc" -prune -o \
\( -type f -o -type l \) -print))
BUILT_OTATOOLS_PACKAGE := $(PRODUCT_OUT)/otatools.zip
$(BUILT_OTATOOLS_PACKAGE): PRIVATE_ZIP_ROOT := $(call intermediates-dir-for,PACKAGING,otatools)/otatools
$(BUILT_OTATOOLS_PACKAGE): PRIVATE_OTATOOLS_PACKAGE_FILES := $(INTERNAL_OTATOOLS_PACKAGE_FILES)
$(BUILT_OTATOOLS_PACKAGE): PRIVATE_OTATOOLS_RELEASETOOLS := $(INTERNAL_OTATOOLS_RELEASETOOLS)
$(BUILT_OTATOOLS_PACKAGE): $(INTERNAL_OTATOOLS_PACKAGE_FILES) $(INTERNAL_OTATOOLS_RELEASETOOLS)
$(BUILT_OTATOOLS_PACKAGE): $(SOONG_ZIP)
@echo "Package OTA tools: $@" @echo "Package OTA tools: $@"
$(hide) rm -rf $@ $(zip_root) rm -rf $@ $(PRIVATE_ZIP_ROOT)
$(hide) mkdir -p $(dir $@) $(zip_root)/bin $(zip_root)/framework $(zip_root)/releasetools mkdir -p $(dir $@)
$(call copy-files-with-structure,$(OTATOOLS),$(HOST_OUT)/,$(zip_root)) $(call copy-files-with-structure,$(PRIVATE_OTATOOLS_PACKAGE_FILES),$(HOST_OUT)/,$(PRIVATE_ZIP_ROOT))
$(hide) cp $(SOONG_ZIP) $(zip_root)/bin/ $(call copy-files-with-structure,$(PRIVATE_OTATOOLS_RELEASETOOLS),build/make/tools/,$(PRIVATE_ZIP_ROOT))
$(hide) cp -r -d -p build/make/tools/releasetools/* $(zip_root)/releasetools cp $(SOONG_ZIP) $(PRIVATE_ZIP_ROOT)/bin/
$(hide) rm -rf $@ $(zip_root)/releasetools/*.pyc $(SOONG_ZIP) -o $@ -C $(PRIVATE_ZIP_ROOT) -D $(PRIVATE_ZIP_ROOT)
$(hide) $(SOONG_ZIP) -o $@ -C $(zip_root) -D $(zip_root) \
-C . $(addprefix -f ,$(OTATOOLS_DEPS))
.PHONY: otatools-package .PHONY: otatools-package
otatools-package: $(BUILT_OTATOOLS_PACKAGE) otatools-package: $(BUILT_OTATOOLS_PACKAGE)