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.
122 lines
3.2 KiB
Plaintext
122 lines
3.2 KiB
Plaintext
libtar - C library for manipulating tar files
|
|
======
|
|
|
|
libtar is a library for manipulating tar files from within C programs.
|
|
Here are some of its features:
|
|
|
|
* Handles both POSIX tar file format and the GNU extensions.
|
|
* API provides functions for easy use, such as tar_extract_all().
|
|
* Also provides functions for more granular use, such as
|
|
tar_append_regfile().
|
|
|
|
|
|
Installation
|
|
------------
|
|
|
|
To build libtar, you should be able to simply run these commands:
|
|
|
|
./configure
|
|
make
|
|
make install
|
|
|
|
|
|
Encap Package Support
|
|
---------------------
|
|
|
|
To build this software as an Encap package, you can pass the
|
|
--enable-encap option to configure. This will be automatically
|
|
enabled if the epkg or mkencap programs are detected on the system,
|
|
but can be overridden by the --disable-encap option.
|
|
|
|
When building an Encap package, the configure script will automatically
|
|
adjust the installation prefix to use an appropriate Encap package
|
|
directory. It does this using a heuristic algorithm which examines the
|
|
values of the ${ENCAP_SOURCE} and ${ENCAP_TARGET} environment variables
|
|
and the argument to configure's --prefix option.
|
|
|
|
If mkencap was detected on the system, it will be automatically run during
|
|
"make install". By default, epkg will also be run, but this can be
|
|
inhibited with the --disable-epkg-install configure option.
|
|
|
|
For information on the Encap package management system, see the WSG
|
|
Encap Archive:
|
|
|
|
http://www.encap.org/
|
|
|
|
|
|
zlib Support
|
|
------------
|
|
|
|
The configure script will attempt to find the zlib library on your system
|
|
for use with the libtar driver program. The zlib package is available from:
|
|
|
|
http://www.gzip.org/zlib/
|
|
|
|
If zlib is installed on your system, but you do not wish to use it,
|
|
specify the --without-zlib option when you invoke configure.
|
|
|
|
|
|
More Information
|
|
----------------
|
|
|
|
For documentation of the libtar API, see the enclosed manpages. For more
|
|
information on the libtar package, see:
|
|
|
|
http://www-dev.cites.uiuc.edu/libtar/
|
|
|
|
Source code for the latest version of libtar will be available there, as
|
|
well as Encap binary distributions for many common platforms.
|
|
|
|
|
|
Supported Platforms
|
|
-------------------
|
|
|
|
I develop and test libtar on the following platforms:
|
|
|
|
AIX 4.3.3 and 5.1
|
|
HP-UX 11.00
|
|
IRIX 6.5
|
|
RedHat Linux 7.2
|
|
Solaris 8 and 9
|
|
|
|
It should also build on the following platforms, but I do not actively
|
|
support them:
|
|
|
|
AIX 3.2.5
|
|
AIX 4.2.1
|
|
Cygwin
|
|
FreeBSD
|
|
HP-UX 10.20
|
|
Linux/libc5
|
|
OpenBSD
|
|
Solaris 2.5
|
|
Solaris 2.6
|
|
Solaris 7
|
|
|
|
If you successfully build libtar on another platform, please email me a
|
|
patch and/or configuration information.
|
|
|
|
|
|
Compatibility Code
|
|
------------------
|
|
|
|
libtar depends on some library calls which are not available or not
|
|
usable on some platforms. To accomodate these systems, I've included
|
|
a version of these calls in the compat subdirectory.
|
|
|
|
I've slightly modified these functions for integration into this source
|
|
tree, but the functionality has not been modified from the original
|
|
source. Please note that while this code should work for you, I didn't
|
|
write it, so please don't send me bug reports on it.
|
|
|
|
|
|
Author
|
|
------
|
|
|
|
Feedback and bug reports are welcome.
|
|
|
|
Mark D. Roth <roth@uiuc.edu>
|
|
Campus Information Technologies and Educational Services
|
|
University of Illinois at Urbana-Champaign
|
|
|