diff --git a/metadata/me.bmax.apatch.yml b/metadata/me.bmax.apatch.yml index e4e9ab1cd4..73aae003da 100644 --- a/metadata/me.bmax.apatch.yml +++ b/metadata/me.bmax.apatch.yml @@ -202,6 +202,114 @@ Builds: - 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. @@ -212,5 +320,5 @@ MaintainerNotes: | AutoUpdateMode: Version UpdateCheckMode: Tags UpdateCheckData: '|(\d+)||(\d+)' -CurrentVersion: '11039' -CurrentVersionCode: 11039 +CurrentVersion: '11107' +CurrentVersionCode: 11107