Commit Graph

28 Commits

Author SHA1 Message Date
7cf56b4406 Simplify ramdisk test 2024-08-21 16:46:37 -07:00
7c88484d64 Fix #7988 2024-04-16 19:45:01 -07:00
b22b6a4204 Refactor cpio 2024-04-10 22:46:21 -07:00
c50ee722a1 Use memmem for finding needle in haystack 2024-04-10 14:57:44 -07:00
2e4440b702 Support 32-bit magiskboot 2024-04-09 19:34:14 -07:00
b6c24a3a8a No more sony init.real tricks
Co-authored-by: canyie <a1364259@163.com>
Co-authored-by: vvb2060 <vvb2060@gmail.com>
2024-02-29 23:40:00 -08:00
987e5f5413 Address clippy warnings 2024-02-27 21:03:34 -08:00
2ac464b186 Only compress regular file 2023-12-18 16:21:08 +08:00
8b7fae278b Support compressing during cpio backup 2023-12-18 16:21:08 +08:00
6f6b0ade06 Correct cpio's norm_path 2023-11-29 23:47:51 +08:00
b28326198c Use crates for cpio code 2023-09-22 01:39:21 -07:00
89aee6ffa7 Add more to the Utf8CStr family
Better C strings with path operations
2023-09-12 17:35:01 -07:00
4eaf701cb7 Address clippy warnings 2023-09-06 21:45:12 -07:00
64c82e1f2c Refine cpio argh
we can use argh to handle `--help` now
2023-07-06 15:07:06 -07:00
af2207433d Fix error logging
ok_or will unconditionally creates a LoggedResult, which prints
an error even it successes. Use ok_or_else which lazily creates
a LoggedResult only if it fails.
2023-07-06 11:01:57 -07:00
d778b0b0a7 Custom help message when using argh
Help messages generated from argh is nearly useless and very hard to
customize. Fork argh and disable all code for generating help messages.

Use a closure to print the help message when handling EarlyExit.
2023-07-05 17:05:39 -07:00
5ee6daf126 Handle cpio commands properly 2023-07-03 21:57:28 -07:00
4ee4cbada6 Standardize logging and error handling
- Introduce new types: LoggedResult and LoggedError
- Introduce new extension methods to log and add additional msgs
- Never exit when logging error messages in Rust (all errors should be
  handled by using Result and Rust's error propagation)
- Remove all usages of anyhow as it doesn't fit Magisk's use cases
2023-06-29 17:14:53 -07:00
dc26ad7125 Address clippy warnings 2023-06-22 02:36:31 -07:00
24b1c607f3 Replace clap with argh 2023-06-22 02:36:31 -07:00
c874391be4 Box CpioEntry 2023-06-15 04:09:17 -07:00
cb3ab63815 Replace all CStr usage to Utf8CStr 2023-06-12 13:57:15 -07:00
d15017b777 Add arg requirement for cpio extract 2023-06-12 02:40:50 -07:00
23c1f0111b Improve Rust implementation
- Move mmap_file implementation into Rust
- Introduce Utf8CStr as the better c-string type to use
2023-06-12 02:40:50 -07:00
866386e21f Use to_string instead of to_owned 2023-06-12 02:40:50 -07:00
607e6547a7 No check rm -r 2023-06-12 02:40:50 -07:00
6b21091fe2 Fix compile errors and cleanup 2023-06-12 02:40:50 -07:00
b8cb9cd84d Refactor magiskboot cpio 2023-06-12 02:40:50 -07:00