fdroiddata/metadata/me.bmax.apatch.yml
2025-07-15 13:42:20 +00:00

324 lines
14 KiB
YAML

Categories:
- System
License: GPL-3.0-or-later
AuthorName: bmax121
SourceCode: https://github.com/bmax121/APatch
IssueTracker: https://github.com/bmax121/APatch/issues
Changelog: https://github.com/bmax121/APatch/releases
AutoName: APatch
RequiresRoot: true
RepoType: git
Repo: https://github.com/bmax121/APatch
Builds:
- versionName: '10763'
versionCode: 10763
commit: b3ea4e1c38017cd7f29918aee809ca31f930a499
timeout: 30000
subdir: app
sudo:
- apt-get update
- apt-get install -y make cmake gcc autoconf automake libtool wget flex bison
autogen texinfo gawk libncurses5-dev dejagnu xz-utils python-is-python3
- curl -Lo /usr/share/doc/git/contrib/workdir/git-new-workdir https://raw.githubusercontent.com/git/git/v2.39.2/contrib/workdir/git-new-workdir
- ln -s /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/
- chmod +x /usr/local/bin/git-new-workdir
init: git checkout 10763
gradle:
- yes
srclibs:
- rustup@1.26.0
- apatch-magisk@6122f80ecad5fc07df84bda6e07d4d477522288f
- KernelPatch@0.10.7
- abe@5ad3b2cc5bc1376c323a68af6022603c1b75c145
prebuild:
- mkdir gcc
- cd gcc
- $$abe$$/configure
- curl -Lo gcc-manifest.txt https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/12.2.rel1/manifest/arm-gnu-toolchain-aarch64-none-elf-abe-manifest.txt
- echo "8eaf20bf7f002ae98176974ceb77c2c6225585e6b62eec2a4870c1bd894393f8 gcc-manifest.txt"
| sha256sum -c -
- cd ..
- sed -i -e 's|ndk_path = .*|ndk_path = "$$NDK$$"|' -e "s|rust_bin = .*|rust_bin
= \"$HOME/.cargo/bin/\"|" -e '/sys.exit/d' -e 's/ -Zthreads=.*/"/' -e 's/archs
= .*/archs = ["arm64-v8a"]/' -e '/triples =/,+5c triples = ["aarch64-linux-android"]'
$$apatch-magisk$$/build.py
- sed -i -e 's/armeabi-v7a.*/arm64-v8a/' $$apatch-magisk$$/native/src/Application.mk
- kernelPatchVersion=$(sed -n -E 's/.*"kernelPatchVersion", "([0-9.]+)".*/\1/p'
../build.gradle.kts)
- git -C $$KernelPatch$$ checkout -f $kernelPatchVersion
- sdkmanager 'platforms;android-33'
- $$rustup$$/rustup-init.sh -y --default-toolchain nightly-2024-02-04 -t aarch64-linux-android
-c rust-src
- source $HOME/.cargo/env
- sed -i -e '/"cargo"/a environment("ANDROID_NDK_HOME", "$$NDK$$")' -e "s|\"cargo\"|\"$(which
cargo)\"|" -e '/preBuild/,/^)/s/"download.*",//' -e '/jvmTarget/s/21/17/'
build.gradle.kts
- sed -i -e '/extra/s/getVersionCode()/$$VERCODE$$/' -e '/extra/s/getVersionName()/"$$VERSION$$"/'
-e '/JavaVersion/s/21/17/' ../build.gradle.kts
- sed -i -e '/androidx.dev/d' ../settings.gradle.kts
- sed -i -e '/prefs.getBoolean("check_update"/s/true/false/' src/main/java/me/bmax/apatch/ui/screen/Settings.kt
scandelete:
- app/libs/arm64-v8a
build:
- pushd $$apatch-magisk$$
- python3 ./build.py -rv binary target magiskboot magiskpolicy busybox resetprop
- popd
- for target in magiskboot magiskpolicy busybox resetprop; do mv $$apatch-magisk$$/native/out/arm64-v8a/$target
libs/arm64-v8a/lib${target}.so; done
- cd gcc
- $$abe$$/abe.sh --manifest gcc-manifest.txt --build all --disable make_docs
> /dev/null
- export TARGET_COMPILE=$(pwd)/builds/destdir/x86_64-pc-linux-gnu/bin/aarch64-none-elf-
- cd ..
- source $HOME/.cargo/env
- cargo install cargo-ndk --version 3.4.0 --locked
- pushd $$KernelPatch$$
- export ANDROID=1
- cd kernel
- make
- cd ../user
- cmake -DCMAKE_TOOLCHAIN_FILE=$$NDK$$/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
-DANDROID_PLATFORM=android-33 -DANDROID_ABI=arm64-v8a .
- cmake --build .
- cd ../tools
- cmake -DCMAKE_TOOLCHAIN_FILE=$$NDK$$/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
-DANDROID_PLATFORM=android-33 -DANDROID_ABI=arm64-v8a .
- cmake --build .
- popd
- mv $$KernelPatch$$/kernel/kpimg src/main/assets/kpimg
- mv $$KernelPatch$$/user/kpatch libs/arm64-v8a/libkpatch.so
- mv $$KernelPatch$$/user/libapjni.so libs/arm64-v8a/libapjni.so
- mv $$KernelPatch$$/tools/kptools libs/arm64-v8a/libkptools.so
ndk: r26d
- versionName: '11039'
versionCode: 11039
commit: 5fd71d6a70d404e9dcf91c490dac00796418e7de
timeout: 18000
subdir: app
sudo:
- apt-get update
- apt-get install -y g++ make pkg-config libssl-dev ninja-build cmake xz-utils
libflashrom-dev libnss3-dev zip libzstd-dev file binutils-dev bzip2 autoconf
automake libtool wget flex bison autogen texinfo gawk libncurses5-dev dejagnu
python-is-python3 clang-19 lld-19
- curl -Lo /usr/share/doc/git/contrib/workdir/git-new-workdir https://raw.githubusercontent.com/git/git/v2.39.2/contrib/workdir/git-new-workdir
- ln -s /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/
- chmod +x /usr/local/bin/git-new-workdir
gradle:
- yes
srclibs:
- rustup@1.27.1
- ondk@r28.3
- ndk-box-kitchen@14d189ea3070a8167b3576bf83fe070d4a3441af
- Busybox@1_36_1
- SELinux-android@android-15.0.0_r3
- pcre@android-15.0.0_r3
- apatch-magisk@cc566cf1de7e029b77a34bad11838a3357f1263a
- KernelPatch@0.10.7
- abe@5ad3b2cc5bc1376c323a68af6022603c1b75c145
prebuild:
- mkdir gcc
- cd gcc
- $$abe$$/configure
- curl -Lo gcc-manifest.txt https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/12.2.rel1/manifest/arm-gnu-toolchain-aarch64-none-elf-abe-manifest.txt
- echo "8eaf20bf7f002ae98176974ceb77c2c6225585e6b62eec2a4870c1bd894393f8 gcc-manifest.txt"
| sha256sum -c -
- cd ..
- sed -i -e 's/-18/-19/' $$ondk$$/config.toml
- sed -i -e 's|https://.*download/{ndk_ver}|$$ondk$$/dist|' -e 's/urllib.request.urlopen(url)/open(url,"rb")/'
-e 's/ -Zthreads=.*/"/' $$apatch-magisk$$/build.py
- sed -i -e '/"src",/,/^]/c "src"]' $$ondk$$/config.toml
- sed -i -e 's/armeabi-v7a.*/arm64-v8a/' $$ndk-box-kitchen$$/jni/Application.mk
- kernelPatchVersion=$(sed -n -E 's/.*"kernelPatchVersion", "([0-9.]+)".*/\1/p'
../build.gradle.kts)
- git -C $$KernelPatch$$ checkout -f $kernelPatchVersion
- $$rustup$$/rustup-init.sh -y --default-toolchain 1.85.1 -t aarch64-linux-android
- source $HOME/.cargo/env
- sed -i -e '/"cargo"/a environment("ANDROID_NDK_HOME", "$$NDK$$")' -e "s|\"cargo\"|\"$(which
cargo)\"|" -e '/preBuild/,/^)/s/"download.*",//' -e 's/VERSION_22/VERSION_17/'
build.gradle.kts
- sed -i -e '/foojay/d' ../settings.gradle.kts
- sed -i -e '/extra/s/getVersionCode()/$$VERCODE$$/' -e '/extra/s/getVersionName()/"$$VERSION$$"/'
../build.gradle.kts
- sed -i -e '/prefs.getBoolean("check_update"/s/true/false/' src/main/java/me/bmax/apatch/ui/screen/Settings.kt
- sed -i -e 's|verifyAppSignature(".*")|verifyAppSignature("/kptjCONPpskoErXuf2OuvMzTcbAu1EmsWLwypMa8rg=")|'
src/main/java/me/bmax/apatch/APatchApp.kt
- sdkmanager 'platforms;android-33' 'cmake;3.31.6'
scandelete:
- app/libs/arm64-v8a
build:
- pushd $$ondk$$
- ./build.sh
- popd
- pushd $$apatch-magisk$$
- python3 ./build.py -rv ndk
- python3 ./build.py -rv native targets magiskboot magiskpolicy resetprop
- popd
- for target in magiskboot magiskpolicy resetprop; do mv $$apatch-magisk$$/native/out/arm64-v8a/$target
libs/arm64-v8a/lib${target}.so; done
- pushd $$ndk-box-kitchen$$
- cp -r $$Busybox$$ busybox
- cp -r $$SELinux-android$$ jni/selinux
- cp -r $$pcre$$ jni/pcre
- pushd busybox
- git config user.email test@test.com
- git config user.name test
- popd
- ./run.sh patch
- ./run.sh generate
- $$SDK$$/ndk/magisk/ndk-build -j$(nproc)
- popd
- mv $$ndk-box-kitchen$$/libs/arm64-v8a/busybox libs/arm64-v8a/libbusybox.so
- cd gcc
- $$abe$$/abe.sh --manifest gcc-manifest.txt --build all --disable make_docs
> /dev/null
- export TARGET_COMPILE=$(pwd)/builds/destdir/x86_64-pc-linux-gnu/bin/aarch64-none-elf-
- cd ..
- source $HOME/.cargo/env
- cargo install cargo-ndk --version 3.5.4 --locked
- pushd $$KernelPatch$$
- export ANDROID=1
- cd kernel
- make
- cd ../tools
- cmake -DCMAKE_TOOLCHAIN_FILE=$$NDK$$/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
-DANDROID_PLATFORM=android-33 -DANDROID_ABI=arm64-v8a .
- cmake --build .
- git checkout -f 0.10.7
- cd ../kernel
- make hdr
- cd ../user
- cmake -DCMAKE_TOOLCHAIN_FILE=$$NDK$$/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
-DANDROID_PLATFORM=android-33 -DANDROID_ABI=arm64-v8a .
- cmake --build .
- popd
- mv $$KernelPatch$$/kernel/kpimg src/main/assets/kpimg
- mv $$KernelPatch$$/tools/kptools libs/arm64-v8a/libkptools.so
- mv $$KernelPatch$$/user/kpatch libs/arm64-v8a/libkpatch.so
ndk: r27c
- versionName: '11107'
versionCode: 11107
commit: d577cd3ff7219a0f50c5cc6cc163645c70a09a75
timeout: 18000
subdir: app
sudo:
- apt-get update
- apt-get install -y g++ make pkg-config libssl-dev ninja-build cmake xz-utils
libflashrom-dev libnss3-dev zip libzstd-dev file binutils-dev bzip2 autoconf
automake libtool wget flex bison autogen texinfo gawk libncurses5-dev dejagnu
python-is-python3 clang-19 lld-19
- curl -Lo /usr/share/doc/git/contrib/workdir/git-new-workdir https://raw.githubusercontent.com/git/git/v2.39.2/contrib/workdir/git-new-workdir
- ln -s /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/
- chmod +x /usr/local/bin/git-new-workdir
gradle:
- yes
srclibs:
- rustup@1.27.1
- ondk@r28.5
- ndk-box-kitchen@14d189ea3070a8167b3576bf83fe070d4a3441af
- Busybox@1_36_1
- SELinux-android@android-15.0.0_r3
- pcre@android-15.0.0_r3
- apatch-magisk@1ff5c02e668e32ccf571f2f61a1c0ff2425d4f0a
- KernelPatch@0.10.7
- abe@5ad3b2cc5bc1376c323a68af6022603c1b75c145
prebuild:
- mkdir gcc
- cd gcc
- $$abe$$/configure
- curl -Lo gcc-manifest.txt https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/12.2.rel1/manifest/arm-gnu-toolchain-aarch64-none-elf-abe-manifest.txt
- echo "8eaf20bf7f002ae98176974ceb77c2c6225585e6b62eec2a4870c1bd894393f8 gcc-manifest.txt"
| sha256sum -c -
- cd ..
- sed -i -e 's|https://.*download/{ondk_version}|$$ondk$$/dist|' -e 's/urllib.request.urlopen(url)/open(url,"rb")/'
-e 's/-Z threads=.*/"/' $$apatch-magisk$$/build.py
- sed -i -e '/"src",/,/^]/c "src"]' $$ondk$$/bootstrap.toml
- sed -i -e 's/git config set/git config/' $$ondk$$/common.sh
- sed -i -e 's/armeabi-v7a.*/arm64-v8a/' $$ndk-box-kitchen$$/jni/Application.mk
- kernelPatchVersion=$(sed -n -E 's/.*"kernelPatchVersion", "([0-9.]+)".*/\1/p'
../build.gradle.kts)
- git -C $$KernelPatch$$ checkout -f $kernelPatchVersion
- $$rustup$$/rustup-init.sh -y --default-toolchain 1.85.1 -t aarch64-linux-android
- source $HOME/.cargo/env
- sed -i -e '/"cargo"/a environment("ANDROID_NDK_HOME", "$$NDK$$")' -e "s|\"cargo\"|\"$(which
cargo)\"|" -e '/preBuild/,/^)/s/"download.*",//' -e 's/VERSION_22/VERSION_17/'
build.gradle.kts
- sed -i -e '/foojay/d' ../settings.gradle.kts
- sed -i -e '/extra/s/getVersionCode()/$$VERCODE$$/' -e '/extra/s/getVersionName()/"$$VERSION$$"/'
../build.gradle.kts
- sed -i -e '/prefs.getBoolean("check_update"/s/true/false/' src/main/java/me/bmax/apatch/ui/screen/Settings.kt
- sed -i -e 's|verifyAppSignature(".*")|verifyAppSignature("/kptjCONPpskoErXuf2OuvMzTcbAu1EmsWLwypMa8rg=")|'
src/main/java/me/bmax/apatch/APatchApp.kt
- sdkmanager 'platforms;android-33' 'cmake;3.31.6'
scandelete:
- app/libs/arm64-v8a
build:
- pushd $$ondk$$
- ./build.sh
- popd
- pushd $$apatch-magisk$$
- python3 ./build.py -rv ndk
- PATH=$$SDK$$/ndk/magisk/toolchains/rust/bin/:$PATH python3 ./build.py -rv
native targets magiskboot magiskpolicy resetprop
- popd
- for target in magiskboot magiskpolicy resetprop; do mv $$apatch-magisk$$/native/out/arm64-v8a/$target
libs/arm64-v8a/lib${target}.so; done
- pushd $$ndk-box-kitchen$$
- cp -r $$Busybox$$ busybox
- cp -r $$SELinux-android$$ jni/selinux
- cp -r $$pcre$$ jni/pcre
- pushd busybox
- git config user.email test@test.com
- git config user.name test
- popd
- ./run.sh patch
- ./run.sh generate
- $$SDK$$/ndk/magisk/ndk-build -j$(nproc)
- popd
- mv $$ndk-box-kitchen$$/libs/arm64-v8a/busybox libs/arm64-v8a/libbusybox.so
- cd gcc
- $$abe$$/abe.sh --manifest gcc-manifest.txt --build all --disable make_docs
> /dev/null
- export TARGET_COMPILE=$(pwd)/builds/destdir/x86_64-pc-linux-gnu/bin/aarch64-none-elf-
- cd ..
- source $HOME/.cargo/env
- cargo install cargo-ndk --version 3.5.4 --locked
- pushd $$KernelPatch$$
- export ANDROID=1
- cd kernel
- make
- cd ../tools
- cmake -DCMAKE_TOOLCHAIN_FILE=$$NDK$$/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
-DANDROID_PLATFORM=android-33 -DANDROID_ABI=arm64-v8a .
- cmake --build .
- git checkout -f 0.10.7
- cd ../kernel
- make hdr
- cd ../user
- cmake -DCMAKE_TOOLCHAIN_FILE=$$NDK$$/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
-DANDROID_PLATFORM=android-33 -DANDROID_ABI=arm64-v8a .
- cmake --build .
- popd
- mv $$KernelPatch$$/kernel/kpimg src/main/assets/kpimg
- mv $$KernelPatch$$/tools/kptools libs/arm64-v8a/libkptools.so
- mv $$KernelPatch$$/user/kpatch libs/arm64-v8a/libkpatch.so
ndk: r28b
MaintainerNotes: |
1. git-new-workdir needs to be downloaded because it's stripped.
2. aarch64-none-elf gcc is required which is not available in Debian so it's built from source.
3. Upstream uses Java 21 but it's not necessary so Java 17 is used.
4. The signature hash base64 is generated with `echo fe4a6d8c238d3e9b24a04ad7b9fd8ebaf3334dc6c0bb5126b162f0ca931af2b8 | xxd -r -p | base64`
-> /kptjCONPpskoErXuf2OuvMzTcbAu1EmsWLwypMa8rg=
AutoUpdateMode: Version
UpdateCheckMode: Tags
UpdateCheckData: '|(\d+)||(\d+)'
CurrentVersion: '11107'
CurrentVersionCode: 11107