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.
211 lines
3.8 KiB
Plaintext
211 lines
3.8 KiB
Plaintext
FUSE_UNVERSIONED {
|
|
};
|
|
|
|
FUSE_2.2 {
|
|
global:
|
|
fuse_destroy;
|
|
fuse_exit;
|
|
fuse_exited;
|
|
fuse_invalidate;
|
|
fuse_is_lib_option;
|
|
fuse_loop;
|
|
fuse_loop_mt;
|
|
fuse_loop_mt_proc;
|
|
fuse_main;
|
|
fuse_main_compat1;
|
|
fuse_main_compat2;
|
|
fuse_mount_compat1;
|
|
fuse_new_compat1;
|
|
fuse_new_compat2;
|
|
fuse_process_cmd;
|
|
fuse_read_cmd;
|
|
fuse_set_getcontext_func;
|
|
fuse_setup_compat2;
|
|
};
|
|
|
|
FUSE_2.4 {
|
|
global:
|
|
fuse_add_dirent;
|
|
fuse_chan_bufsize;
|
|
fuse_chan_data;
|
|
fuse_chan_destroy;
|
|
fuse_chan_fd;
|
|
fuse_chan_receive;
|
|
fuse_chan_send;
|
|
fuse_chan_session;
|
|
fuse_dirent_size;
|
|
fuse_kern_chan_new;
|
|
fuse_lowlevel_is_lib_option;
|
|
fuse_reply_attr;
|
|
fuse_reply_buf;
|
|
fuse_reply_entry;
|
|
fuse_reply_err;
|
|
fuse_reply_none;
|
|
fuse_reply_readlink;
|
|
fuse_reply_write;
|
|
fuse_reply_xattr;
|
|
fuse_req_userdata;
|
|
fuse_session_add_chan;
|
|
fuse_session_destroy;
|
|
fuse_session_exit;
|
|
fuse_session_exited;
|
|
fuse_session_loop;
|
|
fuse_session_loop_mt;
|
|
fuse_session_new;
|
|
fuse_session_next_chan;
|
|
fuse_session_process;
|
|
fuse_session_reset;
|
|
} FUSE_2.2;
|
|
|
|
FUSE_2.5 {
|
|
global:
|
|
fuse_lowlevel_new_compat;
|
|
fuse_main_real_compat22;
|
|
fuse_mount_compat22;
|
|
fuse_new_compat22;
|
|
fuse_opt_parse;
|
|
fuse_opt_add_opt;
|
|
fuse_opt_add_arg;
|
|
fuse_opt_free_args;
|
|
fuse_opt_match;
|
|
fuse_parse_cmdline;
|
|
fuse_remove_signal_handlers;
|
|
fuse_reply_create;
|
|
fuse_reply_open;
|
|
fuse_reply_open_compat;
|
|
fuse_reply_statfs;
|
|
fuse_reply_statfs_compat;
|
|
fuse_setup_compat22;
|
|
fuse_set_signal_handlers;
|
|
} FUSE_2.4;
|
|
|
|
FUSE_2.6 {
|
|
global:
|
|
fuse_add_direntry;
|
|
fuse_chan_new;
|
|
fuse_chan_new_compat24;
|
|
fuse_chan_recv;
|
|
fuse_daemonize;
|
|
fuse_get_session;
|
|
fuse_interrupted;
|
|
fuse_lowlevel_new;
|
|
fuse_lowlevel_new_compat25;
|
|
fuse_main_real;
|
|
fuse_main_real_compat25;
|
|
fuse_mount;
|
|
fuse_mount_compat25;
|
|
fuse_new;
|
|
fuse_new_compat25;
|
|
fuse_opt_insert_arg;
|
|
fuse_reply_lock;
|
|
fuse_req_interrupt_func;
|
|
fuse_req_interrupted;
|
|
fuse_session_remove_chan;
|
|
fuse_setup;
|
|
fuse_setup_compat25;
|
|
fuse_teardown;
|
|
fuse_teardown_compat22;
|
|
fuse_unmount;
|
|
fuse_unmount_compat22;
|
|
} FUSE_2.5;
|
|
|
|
FUSE_2.7 {
|
|
global:
|
|
fuse_fs_access;
|
|
fuse_fs_bmap;
|
|
fuse_fs_chmod;
|
|
fuse_fs_chown;
|
|
fuse_fs_create;
|
|
fuse_fs_destroy;
|
|
fuse_fs_fgetattr;
|
|
fuse_fs_flush;
|
|
fuse_fs_fsync;
|
|
fuse_fs_fsyncdir;
|
|
fuse_fs_ftruncate;
|
|
fuse_fs_getattr;
|
|
fuse_fs_getxattr;
|
|
fuse_fs_init;
|
|
fuse_fs_link;
|
|
fuse_fs_listxattr;
|
|
fuse_fs_lock;
|
|
fuse_fs_mkdir;
|
|
fuse_fs_mknod;
|
|
fuse_fs_new;
|
|
fuse_fs_open;
|
|
fuse_fs_opendir;
|
|
fuse_fs_read;
|
|
fuse_fs_readdir;
|
|
fuse_fs_readlink;
|
|
fuse_fs_release;
|
|
fuse_fs_releasedir;
|
|
fuse_fs_removexattr;
|
|
fuse_fs_rename;
|
|
fuse_fs_rmdir;
|
|
fuse_fs_setxattr;
|
|
fuse_fs_statfs;
|
|
fuse_fs_symlink;
|
|
fuse_fs_truncate;
|
|
fuse_fs_unlink;
|
|
fuse_fs_utimens;
|
|
fuse_fs_write;
|
|
fuse_register_module;
|
|
fuse_reply_iov;
|
|
fuse_version;
|
|
} FUSE_2.6;
|
|
|
|
FUSE_2.7.5 {
|
|
global:
|
|
fuse_reply_bmap;
|
|
} FUSE_2.7;
|
|
|
|
FUSE_2.8 {
|
|
global:
|
|
cuse_lowlevel_new;
|
|
cuse_lowlevel_main;
|
|
cuse_lowlevel_setup;
|
|
cuse_lowlevel_teardown;
|
|
fuse_fs_ioctl;
|
|
fuse_fs_poll;
|
|
fuse_get_context;
|
|
fuse_getgroups;
|
|
fuse_lowlevel_notify_inval_entry;
|
|
fuse_lowlevel_notify_inval_inode;
|
|
fuse_lowlevel_notify_poll;
|
|
fuse_notify_poll;
|
|
fuse_opt_add_opt_escaped;
|
|
fuse_pollhandle_destroy;
|
|
fuse_reply_ioctl;
|
|
fuse_reply_ioctl_iov;
|
|
fuse_reply_ioctl_retry;
|
|
fuse_reply_poll;
|
|
fuse_req_ctx;
|
|
fuse_req_getgroups;
|
|
fuse_session_data;
|
|
} FUSE_2.7.5;
|
|
|
|
FUSE_2.9 {
|
|
global:
|
|
fuse_buf_copy;
|
|
fuse_buf_size;
|
|
fuse_fs_read_buf;
|
|
fuse_fs_write_buf;
|
|
fuse_lowlevel_notify_retrieve;
|
|
fuse_lowlevel_notify_store;
|
|
fuse_reply_data;
|
|
fuse_session_process_buf;
|
|
fuse_session_receive_buf;
|
|
fuse_start_cleanup_thread;
|
|
fuse_stop_cleanup_thread;
|
|
fuse_clean_cache;
|
|
fuse_lowlevel_notify_delete;
|
|
fuse_fs_flock;
|
|
} FUSE_2.8;
|
|
|
|
FUSE_2.9.1 {
|
|
global:
|
|
fuse_fs_fallocate;
|
|
|
|
local:
|
|
*;
|
|
} FUSE_2.9;
|