Files
oxmc f6176009b1 Add recovery_ui and recovery_toolkit scaffolding (first draft, not build-tested)
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.
2026-07-11 16:34:35 -07:00

116 lines
2.3 KiB
Plaintext

noinst_LTLIBRARIES += libcommon.la
libcommon_la_CFLAGS = $(AM_CFLAGS)
libcommon_la_SOURCES = \
lib/at.c \
lib/blkdev.c \
lib/canonicalize.c \
lib/colors.c \
lib/crc32.c \
lib/crc64.c \
lib/env.c \
lib/fileutils.c \
lib/ismounted.c \
lib/mangle.c \
lib/match.c \
lib/mbsalign.c \
lib/md5.c \
lib/pager.c \
lib/path.c \
lib/procutils.c \
lib/randutils.c \
lib/setproctitle.c \
lib/strutils.c \
lib/sysfs.c \
lib/timeutils.c \
lib/ttyutils.c \
lib/exec_shell.c \
lib/readutmp.c
if LINUX
libcommon_la_SOURCES += \
lib/linux_version.c \
lib/loopdev.c
endif
if !HAVE_LANGINFO
libcommon_la_SOURCES += lib/langinfo.c
endif
if HAVE_CPU_SET_T
libcommon_la_SOURCES += lib/cpuset.c
endif
dist_man_MANS += lib/terminal-colors.d.5
check_PROGRAMS += \
test_at \
test_blkdev \
test_canonicalize \
test_colors \
test_fileutils \
test_ismounted \
test_mangle \
test_procutils \
test_randutils \
test_strutils \
test_ttyutils
if LINUX
if HAVE_CPU_SET_T
check_PROGRAMS += test_cpuset
endif
check_PROGRAMS += \
test_sysfs \
test_pager
endif
test_ttyutils_SOURCES = lib/ttyutils.c
test_ttyutils_CFLAGS = -DTEST_PROGRAM
test_ttyutils_LDADD = libcommon.la
test_blkdev_SOURCES = lib/blkdev.c
test_blkdev_CFLAGS = -DTEST_PROGRAM_BLKDEV
test_blkdev_LDADD = libcommon.la
test_ismounted_SOURCES = lib/ismounted.c
test_ismounted_CFLAGS = -DTEST_PROGRAM
test_ismounted_LDADD = libcommon.la
test_mangle_SOURCES = lib/mangle.c
test_mangle_CFLAGS = -DTEST_PROGRAM
test_at_SOURCES = lib/at.c
test_at_CFLAGS = -DTEST_PROGRAM_AT
test_strutils_SOURCES = lib/strutils.c
test_strutils_CFLAGS = -DTEST_PROGRAM
test_colors_SOURCES = lib/colors.c
test_colors_CFLAGS = -DTEST_PROGRAM
test_randutils_SOURCES = lib/randutils.c
test_randutils_CFLAGS = -DTEST_PROGRAM
test_procutils_SOURCES = lib/procutils.c lib/at.c
test_procutils_CFLAGS = -DTEST_PROGRAM
if LINUX
test_cpuset_SOURCES = lib/cpuset.c
test_cpuset_CFLAGS = -DTEST_PROGRAM
test_sysfs_SOURCES = lib/sysfs.c
test_sysfs_CFLAGS = -DTEST_PROGRAM_SYSFS
test_sysfs_LDADD = libcommon.la
test_pager_SOURCES = lib/pager.c
test_pager_CFLAGS = -DTEST_PROGRAM
endif
test_fileutils_SOURCES = lib/fileutils.c
test_fileutils_CFLAGS = -DTEST_PROGRAM
test_canonicalize_SOURCES = lib/canonicalize.c
test_canonicalize_CFLAGS = -DTEST_PROGRAM_CANONICALIZE