Merge "Compute the needed shared libs for otatools."
This commit is contained in:
181
core/Makefile
181
core/Makefile
@@ -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)
|
||||||
|
Reference in New Issue
Block a user