From ddb0a40afd2a777608dea454bd97c4bf8a9558d3 Mon Sep 17 00:00:00 2001 From: Captain Throwback Date: Sun, 1 Nov 2020 12:52:21 -0500 Subject: [PATCH] TWRP_REQUIRED_MODULES: add more criteria to exclude packages Only include hwservicemanager if CRYPTO flag is set and only include servicemanager if FBE is included. Only include health-hal if device uses dynamic partitions Change-Id: I056d0246e406dc9f00bda65247455741ef986a37 --- Android.mk | 26 +++++++++++----------- etc/Android.mk | 58 +++++++++++++++++++++++++++----------------------- 2 files changed, 43 insertions(+), 41 deletions(-) diff --git a/Android.mk b/Android.mk index ce86deb3..86a53d34 100755 --- a/Android.mk +++ b/Android.mk @@ -80,11 +80,6 @@ LOCAL_SRC_FILES := \ LOCAL_STATIC_LIBRARIES += libavb LOCAL_SHARED_LIBRARIES += libfs_mgr libinit -ifeq ($(TW_INCLUDE_CRYPTO),true) - LOCAL_CFLAGS += -DUSE_FSCRYPT -Wno-macro-redefined - LOCAL_C_INCLUDES += bootable/recovery/crypto/fscrypt \ - bootable/recovery/crypto -endif LOCAL_C_INCLUDES += \ system/core/fs_mgr/libfs_avb/include/ \ system/core/fs_mgr/include_fstab/ \ @@ -151,6 +146,7 @@ endif ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true) LOCAL_CFLAGS += -DPRODUCT_USE_DYNAMIC_PARTITIONS=1 + TWRP_REQUIRED_MODULES += android.hardware.health@2.0-service android.hardware.health@2.0-service.rc endif ifeq ($(TW_USES_VENDOR_LIBS),true) @@ -292,9 +288,10 @@ ifeq ($(TW_INCLUDE_L_CRYPTO), true) TW_INCLUDE_CRYPTO := true endif ifeq ($(TW_INCLUDE_CRYPTO), true) - LOCAL_CFLAGS += -DTW_INCLUDE_CRYPTO + LOCAL_CFLAGS += -DTW_INCLUDE_CRYPTO -DUSE_FSCRYPT -Wno-macro-redefined LOCAL_SHARED_LIBRARIES += libcryptfsfde libgpt_twrp - LOCAL_C_INCLUDES += external/boringssl/src/include + LOCAL_C_INCLUDES += external/boringssl/src/include bootable/recovery/crypto/fscrypt \ + bootable/recovery/crypto TW_INCLUDE_CRYPTO_FBE := true LOCAL_CFLAGS += -DTW_INCLUDE_FBE LOCAL_SHARED_LIBRARIES += libtwrpfscrypt android.frameworks.stats@1.0 android.hardware.authsecret@1.0 \ @@ -396,27 +393,28 @@ TWRP_REQUIRED_MODULES += \ init.recovery.hlthchrg.rc \ init.recovery.service.rc \ init.recovery.ldconfig.rc \ - hwservicemanager \ - hwservicemanager.rc \ - servicemanager \ - servicemanager.rc \ awk \ toybox \ toolbox \ mkshrc_twrp \ - android.hardware.health@2.0-service \ - android.hardware.health@2.0-service.rc \ plat_hwservice_contexts \ vendor_hwservice_contexts ifneq ($(TW_INCLUDE_CRYPTO),) TWRP_REQUIRED_MODULES += \ - plat_service_contexts \ + hwservicemanager \ + hwservicemanager.rc \ vndservicemanager \ vndservicemanager.rc \ vold_prepare_subdirs \ task_recovery_profiles.json \ fscryptpolicyget + ifneq ($(TW_INCLUDE_CRYPTO_FBE),) + TWRP_REQUIRED_MODULES += \ + plat_service_contexts \ + servicemanager \ + servicemanager.rc + endif endif ifneq ($(wildcard external/zip/Android.mk),) diff --git a/etc/Android.mk b/etc/Android.mk index f07a2c60..26d86d63 100755 --- a/etc/Android.mk +++ b/etc/Android.mk @@ -58,33 +58,6 @@ LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) LOCAL_SRC_FILES := init.recovery.ldconfig.rc include $(BUILD_PREBUILT) -include $(CLEAR_VARS) -LOCAL_MODULE := hwservicemanager.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES -LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init - -LOCAL_SRC_FILES := init/$(LOCAL_MODULE) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := servicemanager.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES -LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init - -LOCAL_SRC_FILES := init/$(LOCAL_MODULE) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := android.hardware.health@2.0-service.rc -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES -LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init - -LOCAL_SRC_FILES := init/$(LOCAL_MODULE) -include $(BUILD_PREBUILT) - ifeq ($(AB_OTA_UPDATER),true) include $(CLEAR_VARS) LOCAL_MODULE := android.hardware.boot@1.0-service.rc @@ -96,7 +69,27 @@ ifeq ($(AB_OTA_UPDATER),true) include $(BUILD_PREBUILT) endif +ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true) + include $(CLEAR_VARS) + LOCAL_MODULE := android.hardware.health@2.0-service.rc + LOCAL_MODULE_TAGS := optional + LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES + LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init + + LOCAL_SRC_FILES := init/$(LOCAL_MODULE) + include $(BUILD_PREBUILT) +endif + ifneq ($(TW_INCLUDE_CRYPTO),) + include $(CLEAR_VARS) + LOCAL_MODULE := hwservicemanager.rc + LOCAL_MODULE_TAGS := optional + LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES + LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init + + LOCAL_SRC_FILES := init/$(LOCAL_MODULE) + include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := vndservicemanager.rc LOCAL_MODULE_TAGS := optional @@ -105,6 +98,17 @@ ifneq ($(TW_INCLUDE_CRYPTO),) LOCAL_SRC_FILES := init/$(LOCAL_MODULE) include $(BUILD_PREBUILT) + + ifneq ($(TW_INCLUDE_CRYPTO_FBE),) + include $(CLEAR_VARS) + LOCAL_MODULE := servicemanager.rc + LOCAL_MODULE_TAGS := optional + LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES + LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init + + LOCAL_SRC_FILES := init/$(LOCAL_MODULE) + include $(BUILD_PREBUILT) + endif endif ifeq ($(TWRP_INCLUDE_LOGCAT), true)