[PR #34] [MERGED] Add on-device patcher module for Magisk/KernelSU #241

Closed
opened 2026-03-02 12:04:45 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kavishdevar/librepods/pull/34
Author: @devnoname120
Created: 1/15/2025
Status: Merged
Merged: 1/25/2025
Merged by: @kavishdevar

Base: mainHead: magisk-module-autopatcher


📝 Commits (5)

  • e81ae32 Get rid of cURL
  • 29acd20 Add custom radare2 5.9.9 build for Android
  • 93838d2 Add static arm64 busybox 1.36.1
  • e1dc2c8 Create on-device Bluetooth patcher module (arm64)
  • ab67d7d Add auto-update metadata to the patcher module

📊 Changes

23 files changed (+173 additions, -448 deletions)

View changed files

📝 .gitignore (+2 -0)
CHANGELOG.md (+4 -0)
build-magisk-module.sh (+11 -0)
root-module/busybox/busybox-arm64 (+0 -0)
root-module/busybox/xz (+3 -0)
📝 root-module/customize.sh (+142 -52)
root-module/libcurl-android/bin/arm64-v8a/curl (+0 -0)
root-module/libcurl-android/bin/arm64-v8a/curl-config (+0 -196)
root-module/libcurl-android/bin/arm64-v8a/openssl (+0 -0)
root-module/libcurl-android/bin/armeabi-v7a/curl (+0 -0)
root-module/libcurl-android/bin/armeabi-v7a/curl-config (+0 -196)
root-module/libcurl-android/bin/armeabi-v7a/openssl (+0 -0)
root-module/libcurl-android/libs/arm64-v8a/libcrypto.so (+0 -0)
root-module/libcurl-android/libs/arm64-v8a/libcurl.so (+0 -0)
root-module/libcurl-android/libs/arm64-v8a/libssl.so (+0 -0)
root-module/libcurl-android/libs/arm64-v8a/libz.so (+0 -0)
root-module/libcurl-android/libs/armeabi-v7a/libcrypto.so (+0 -0)
root-module/libcurl-android/libs/armeabi-v7a/libcurl.so (+0 -0)
root-module/libcurl-android/libs/armeabi-v7a/libssl.so (+0 -0)
root-module/libcurl-android/libs/armeabi-v7a/libz.so (+0 -0)

...and 3 more files

📄 Description

Tested and working on Android 15 QPR2 (library: /apex/com.android.btservices/lib64/libbluetooth_jni.so)

Notes:

  • I'm using a static build of busybox 1.36.1 for a standalone tar command and to create an xz shim that is required for radare2 to run without Termux.
  • I created a custom build of radare2 5.9.9 for Android with /data/local/tmp/aln_unzip/org.radare.radare2installer as a prefix.
    • It's necessary because the prefix is defined at compile time and radare2 wouldn't find the necessary files with the default build that has a Termux prefix instead.
    • This means that if you change the path /data/local/tmp/aln_unzip/org.radare.radare2installer without recompiling radare2 it won't work. You would have to recompile radare2.
  • The radare2 build is in a .tar.gz because ZIP fucks up file permissions, symbolic links, etc. whereas .tar.gz is natively designed to preserve them.
  • ARM64-only for now. ARM32 will follow in another PR once the ARM64 is well-tested.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kavishdevar/librepods/pull/34 **Author:** [@devnoname120](https://github.com/devnoname120) **Created:** 1/15/2025 **Status:** ✅ Merged **Merged:** 1/25/2025 **Merged by:** [@kavishdevar](https://github.com/kavishdevar) **Base:** `main` ← **Head:** `magisk-module-autopatcher` --- ### 📝 Commits (5) - [`e81ae32`](https://github.com/kavishdevar/librepods/commit/e81ae32b1ffbcb8e9a53c105fbc043357a9712e2) Get rid of cURL - [`29acd20`](https://github.com/kavishdevar/librepods/commit/29acd203ae9c1f7e8b27fb91743ced9257b4930e) Add custom radare2 5.9.9 build for Android - [`93838d2`](https://github.com/kavishdevar/librepods/commit/93838d2d101328c5521060141ff899983f0da10f) Add static arm64 busybox 1.36.1 - [`e1dc2c8`](https://github.com/kavishdevar/librepods/commit/e1dc2c8925d65a89d279d6e1d8c6330b71a96e76) Create on-device Bluetooth patcher module (arm64) - [`ab67d7d`](https://github.com/kavishdevar/librepods/commit/ab67d7dc23fe6e0b6ab627f273f8e0f21d8acd74) Add auto-update metadata to the patcher module ### 📊 Changes **23 files changed** (+173 additions, -448 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+2 -0) ➕ `CHANGELOG.md` (+4 -0) ➕ `build-magisk-module.sh` (+11 -0) ➕ `root-module/busybox/busybox-arm64` (+0 -0) ➕ `root-module/busybox/xz` (+3 -0) 📝 `root-module/customize.sh` (+142 -52) ➖ `root-module/libcurl-android/bin/arm64-v8a/curl` (+0 -0) ➖ `root-module/libcurl-android/bin/arm64-v8a/curl-config` (+0 -196) ➖ `root-module/libcurl-android/bin/arm64-v8a/openssl` (+0 -0) ➖ `root-module/libcurl-android/bin/armeabi-v7a/curl` (+0 -0) ➖ `root-module/libcurl-android/bin/armeabi-v7a/curl-config` (+0 -196) ➖ `root-module/libcurl-android/bin/armeabi-v7a/openssl` (+0 -0) ➖ `root-module/libcurl-android/libs/arm64-v8a/libcrypto.so` (+0 -0) ➖ `root-module/libcurl-android/libs/arm64-v8a/libcurl.so` (+0 -0) ➖ `root-module/libcurl-android/libs/arm64-v8a/libssl.so` (+0 -0) ➖ `root-module/libcurl-android/libs/arm64-v8a/libz.so` (+0 -0) ➖ `root-module/libcurl-android/libs/armeabi-v7a/libcrypto.so` (+0 -0) ➖ `root-module/libcurl-android/libs/armeabi-v7a/libcurl.so` (+0 -0) ➖ `root-module/libcurl-android/libs/armeabi-v7a/libssl.so` (+0 -0) ➖ `root-module/libcurl-android/libs/armeabi-v7a/libz.so` (+0 -0) _...and 3 more files_ </details> ### 📄 Description Tested and working on Android 15 QPR2 (library: `/apex/com.android.btservices/lib64/libbluetooth_jni.so`) **Notes**: - I'm using a static build of [busybox 1.36.1](https://github.com/Magisk-Modules-Repo/busybox-ndk/blob/master/busybox-arm64) for a standalone `tar` command and to create an `xz` shim that is required for radare2 to run without Termux. - I created a custom build of [radare2 5.9.9 for Android](https://github.com/devnoname120/radare2/tree/android) with `/data/local/tmp/aln_unzip/org.radare.radare2installer` as a prefix. - It's necessary because the prefix is defined at compile time and radare2 wouldn't find the necessary files with the default build that has a Termux prefix instead. - This means that if you change the path `/data/local/tmp/aln_unzip/org.radare.radare2installer` without recompiling radare2 it won't work. You would have to recompile radare2. - The radare2 build is in a `.tar.gz` because `ZIP` fucks up file permissions, symbolic links, etc. whereas `.tar.gz` is natively designed to preserve them. - ARM64-only for now. ARM32 will follow in another PR once the ARM64 is well-tested. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 12:04:45 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librepods#241
No description provided.