f6176009b1
Stages TWRP's GUI engine and standalone tooling as PawletOS-owned modules instead of a bootable/recovery fork, per the plugin-architecture finding in NOTES-ota-recovery-ab.md: stock recovery_main.cpp already dlopen()s librecovery_ui_ext.so and dlsym()s make_device() from it at runtime, so the UI layer doesn't require touching stock bootable/recovery at all. Confirmed via source grep that recovery.cpp/install.cpp have zero references into the partition manager/backup engine/GUI code and vice versa. recovery_ui/: TWRP's gui/, minuitwrp/, libpixelflinger/ (copied verbatim, GPL-3.0), plus a new device/ providing PawletTwrpUI (a ScreenRecoveryUI subclass) and make_device() — written from scratch against stock's RecoveryUI/ScreenRecoveryUI virtual-method contract, since TWRP's own fork never ships a make_device() (every real TWRP device provides its own, and no reference device tree was available to copy from). Top-level Android.bp defines librecovery_ui_pawlet_twrp, the module TARGET_RECOVERY_UI_LIB should point at. gui/Android.bp and minuitwrp/Android.bp had their include_dirs rewritten for the new paths. recovery_toolkit/: partition manager, backup engine (tar/digest/adbbu/apex), filesystem/format support (exfat/dosfstools/gpt/fuse/mtp/crypto), scripting (openrecoveryscript/orscmd/twrpinstall), shared helpers. Source only, no Android.bp yet for any of it. Known gap blocking recovery_ui from actually linking: gui/'s libguitwrp depends on libaosprecovery, built from recovery_toolkit/helpers/twrp.cpp via a Go Soong plugin (libaosprecovery_defaults.go) not yet ported. Neither repo has been build-tested — no local AOSP build environment available in this workspace. See each directory's README.md for a precise done/not-done breakdown.
96 lines
2.8 KiB
Makefile
96 lines
2.8 KiB
Makefile
LOCAL_PATH := $(call my-dir)
|
|
|
|
# Build shared library
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := libtar
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_SRC_FILES := append.c block.c decode.c encode.c extract.c handle.c output.c util.c wrapper.c basename.c strmode.c libtar_hash.c libtar_list.c dirname.c android_utils.c
|
|
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
|
|
external/zlib
|
|
LOCAL_SHARED_LIBRARIES += libz libc
|
|
|
|
LOCAL_C_INCLUDES += external/libselinux/include
|
|
LOCAL_SHARED_LIBRARIES += libselinux
|
|
|
|
ifeq ($(TW_INCLUDE_CRYPTO_FBE), true)
|
|
LOCAL_STATIC_LIBRARIES += libvold libscrypt_static
|
|
LOCAL_SHARED_LIBRARIES += \
|
|
android.hardware.boot@1.0 \
|
|
android.hardware.confirmationui@1.0 \
|
|
android.hardware.gatekeeper@1.0 \
|
|
android.hardware.keymaster@3.0 \
|
|
android.hardware.keymaster@4.0 \
|
|
android.hardware.keymaster@4.1 \
|
|
android.hardware.weaver@1.0 \
|
|
android.security.apc-ndk_platform \
|
|
android.system.keystore2-V1-ndk_platform \
|
|
android.security.authorization-ndk_platform \
|
|
android.security.maintenance-ndk_platform \
|
|
libselinux \
|
|
libbinder_ndk \
|
|
libext4_utils \
|
|
libbase \
|
|
libcrypto \
|
|
libcutils \
|
|
libf2fs_sparseblock \
|
|
libkeymaster_messages \
|
|
libkeymint_support \
|
|
libkeystoreinfo \
|
|
libkeystore-attestation-application-id \
|
|
libhardware \
|
|
libprotobuf-cpp-lite \
|
|
libfscrypttwrp \
|
|
libhidlbase \
|
|
libutils \
|
|
libbinder \
|
|
libfs_mgr \
|
|
libkeymaster4support \
|
|
libkeymaster4_1support \
|
|
libf2fs_sparseblock \
|
|
libkeyutils \
|
|
liblog \
|
|
libhwbinder \
|
|
libchrome \
|
|
libbootloader_message \
|
|
libgatekeeper_aidl
|
|
|
|
LOCAL_CFLAGS += -DUSE_FSCRYPT
|
|
ifeq ($(TW_USE_FSCRYPT_POLICY), 1)
|
|
LOCAL_CFLAGS += -DUSE_FSCRYPT_POLICY_V1
|
|
else
|
|
LOCAL_CFLAGS += -DUSE_FSCRYPT_POLICY_V2
|
|
endif
|
|
LOCAL_C_INCLUDES += system/vold
|
|
endif
|
|
|
|
ifeq ($(TW_LIBTAR_DEBUG),true)
|
|
LOCAL_CFLAGS += -DTW_LIBTAR_DEBUG
|
|
endif
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
# Build static library
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := libtar_static
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_SRC_FILES := append.c block.c decode.c encode.c extract.c handle.c output.c util.c wrapper.c basename.c strmode.c libtar_hash.c libtar_list.c dirname.c android_utils.c
|
|
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
|
|
external/zlib
|
|
LOCAL_STATIC_LIBRARIES += libz libc
|
|
|
|
LOCAL_C_INCLUDES += external/libselinux/include
|
|
LOCAL_STATIC_LIBRARIES += libselinux
|
|
|
|
ifeq ($(TW_INCLUDE_CRYPTO_FBE), true)
|
|
LOCAL_CFLAGS += -DUSE_FSCRYPT
|
|
LOCAL_C_INCLUDES += system/vold
|
|
endif
|
|
|
|
ifeq ($(TW_LIBTAR_DEBUG),true)
|
|
LOCAL_CFLAGS += -DTW_LIBTAR_DEBUG
|
|
endif
|
|
|
|
include $(BUILD_STATIC_LIBRARY)
|