Forráskód Böngészése

ci(workflows): update default values and WKSU build process

- Change default values for workflow inputs to be more conservative
- Simplify WKSU build process by removing commit-specific checks
- Add comprehensive version-specific patching for WKSU builds
- Update SUSFS_VERSION to 2.0.0 across all variants
TheWildJames 8 hónapja
szülő
commit
176a972605
2 módosított fájl, 100 hozzáadás és 21 törlés
  1. 90 11
      .github/workflows/build.yml
  2. 10 10
      .github/workflows/main.yml

+ 90 - 11
.github/workflows/build.yml

@@ -233,16 +233,7 @@ jobs:
         COMMIT=""
         case "${{ inputs.ksu_variant }}" in
           WKSU)
-            SUSFS_VERSION="1.5.12"
-            case "$TARGET" in 
-              android12-5.10) COMMIT="8a76ba240d1f7315352b49d97d854a4b166e5b47" ;;
-              android13-5.10) COMMIT="e5c9eabfc6dcfc677d11f46ce1d5ff786de60a92" ;;
-              android13-5.15) COMMIT="babf6be195576f09aae79650d47abf6a76e8a21b" ;;
-              android14-5.15) COMMIT="19f339e804ba9aebd9c6d735b965e2b9396c73ae" ;;
-              android14-6.1) COMMIT="a162e2469d0b472545e5e46457eee171c0975fb0" ;;
-              android15-6.6) COMMIT="f450ec00bf592d080f59b01ff6f9242456c9a427" ;;
-            esac
-            git checkout "$COMMIT"
+            SUSFS_VERSION="2.0.0"
             ;;
           Next)
             SUSFS_VERSION="2.0.0"
@@ -254,9 +245,96 @@ jobs:
 
         case "${{ inputs.ksu_variant }}" in
           WKSU)
-            cd "$KERNEL_ROOT/Wild_KSU"
+            SUSFS_VERSION="2.0.0"
+            cd "$KERNEL_ROOT/KernelSU-Next"
+            echo "Nothing to fix for WKSU"
+
+            cd "$KERNEL_ROOT/common"
+            cp "$SUSFS4KSU/kernel_patches/fs/"* "$KERNEL_ROOT/common/fs/"
+            cp "$SUSFS4KSU/kernel_patches/include/linux/"* "$KERNEL_ROOT/common/include/linux/"
+            cp $SUSFS4KSU/kernel_patches/50_add_susfs_in_gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch ./
+            patch -p1 < 50_add_susfs_in_gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch || true
+
+            if [[ "${{ inputs.android_version }}" == "android12" && "${{ inputs.kernel_version }}" == "5.10" ]]; then
+              if [[ "$ACTUAL_SUBLEVEL" -le 209 ]]; then
+                sed -i -e 's/goto show_pad;/return 0;/' ./fs/proc/task_mmu.c
+              fi 
+              if [[ "$ACTUAL_SUBLEVEL" -le 117 ]]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a12-5.10/fdinfo.c.patch ./
+                patch -p1 < fdinfo.c.patch
+              fi
+              if [[ "$ACTUAL_SUBLEVEL" -le 43 ]]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a12-5.10/base.c.patch ./
+                patch -p1 < base.c.patch
+              fi
+            fi
+
+            if [[ "${{ inputs.android_version }}" == "android13" && "${{ inputs.kernel_version }}" == "5.10" ]]; then
+              if [[ "$ACTUAL_SUBLEVEL" -le 107 ]]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a13-5.10/fdinfo.c.patch ./
+                patch -p1 < fdinfo.c.patch
+              fi
+              if [[ "$ACTUAL_SUBLEVEL" -le 209 && "${{ inputs.os_patch_level }}" != "2024-05" ]]; then
+                sed -i -e 's/goto show_pad;/return 0;/' ./fs/proc/task_mmu.c
+              fi
+            fi
+
+            if [[ "${{ inputs.android_version }}" == "android13" && "${{ inputs.kernel_version }}" == "5.15" ]]; then
+              if [ "$ACTUAL_SUBLEVEL" -le 41 ]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a13-5.15/namespace.c.patch ./
+                patch -p1 < namespace.c.patch
+              fi
+              if [ "$ACTUAL_SUBLEVEL" -le 41 ]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a13-5.15/fdinfo.c.patch ./
+                patch -p1 < fdinfo.c.patch
+              fi
+              if [ "$ACTUAL_SUBLEVEL" -le 41 ]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a13-5.15/open.c.patch ./
+                patch -p1 < open.c.patch
+              fi
+              if [ "$ACTUAL_SUBLEVEL" -le 41 ]; then
+                sed -i 's|is_i_uid_not_allowed(i_uid_into_mnt(i_user_ns(inode), inode).val)))|is_i_uid_not_allowed(inode->i_uid.val)))|g' fs/susfs.c
+              fi
+              if [[ "$ACTUAL_SUBLEVEL" -le 148 && "${{ inputs.os_patch_level }}" != "2024-05" ]]; then
+                sed -i -e 's/goto show_pad;/return 0;/' ./fs/proc/task_mmu.c
+              fi
+            fi
+
+            if [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "5.15" ]]; then
+              if [[ "$ACTUAL_SUBLEVEL" -le 148 && "${{ inputs.os_patch_level }}" != "2024-05" ]]; then
+                sed -i -e 's/goto show_pad;/return 0;/' ./fs/proc/task_mmu.c
+              fi
+            fi
+
+            if [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "6.1" ]]; then
+              if [[ "$ACTUAL_SUBLEVEL" -ge 145 ]]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a14-6.1/base.c.patch ./
+                patch -p1 < base.c.patch
+              fi
+              if [[ "$ACTUAL_SUBLEVEL" -le 75 && "${{ inputs.os_patch_level }}" != "2024-05" ]]; then
+                sed -i -e 's/goto show_pad;/return 0;/' ./fs/proc/task_mmu.c
+              fi
+            fi
+
+            if [[ "${{ inputs.android_version }}" == "android15" && "${{ inputs.kernel_version }}" == "6.6" ]]; then
+              if [[ "$ACTUAL_SUBLEVEL" -ge 98 ]]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a15-6.6/base.c.patch ./
+                patch -p1 < base.c.patch
+              fi
+              if [[ "$ACTUAL_SUBLEVEL" -le 58 ]]; then
+                cp $KERNEL_PATCHES/wild/susfs_fix_patches/v${SUSFS_VERSION}/a15-6.6/task_mmu.c.patch ./
+                patch -p1 < task_mmu.c.patch
+              fi
+            fi
+
+            if [[ "${{ inputs.android_version }}" == "android16" && "${{ inputs.kernel_version }}" == "6.12" ]]; then
+              if [[ "$ACTUAL_SUBLEVEL" -le 9999 ]]; then
+                echo "Nothing to fix!"
+              fi
+            fi
             ;;
           Next)
+            SUSFS_VERSION="2.0.0"
             cd "$KERNEL_ROOT/KernelSU-Next"
             if [[ -n "${{ inputs.ksu_commit }}" ]]; then
               echo "add if needed"
@@ -381,6 +459,7 @@ jobs:
             fi
             ;;
           KSU)
+            SUSFS_VERSION="2.0.0"
             cd "$KERNEL_ROOT/KernelSU"
             cp "$SUSFS4KSU/kernel_patches/KernelSU/10_enable_susfs_for_ksu.patch" .
             patch -p1 < 10_enable_susfs_for_ksu.patch

+ 10 - 10
.github/workflows/main.yml

@@ -16,45 +16,45 @@ on:
         description: "KernelSU Variant"
         type: choice
         options: [ KSU, WKSU, Next, RKSU]
-        default: Next
+        default: WKSU
       ksu_commit:
         description: "KSU Commit (optional)"
         type: string
-        default: "pershoot"
+        default: ""
         required: false
       build_bypass:
         description: "Build Bypass"
         type: boolean
-        default: true
+        default: false
       # Build Selection
       build_a12_5_10:
         description: "Android 12 - 5.10"
         type: boolean
-        default: true
+        default: false
       build_a13_5_10:
         description: "Android 13 - 5.10"
         type: boolean
-        default: true
+        default: false
       build_a13_5_15:
         description: "Android 13 - 5.15"
         type: boolean
-        default: true
+        default: false
       build_a14_5_15:
         description: "Android 14 - 5.15"
         type: boolean
-        default: true
+        default: false
       build_a14_6_1:
         description: "Android 14 - 6.1"
         type: boolean
-        default: true
+        default: false
       build_a15_6_6:
         description: "Android 15 - 6.6"
         type: boolean
-        default: true
+        default: false
       build_a16_6_12:
         description: "Android 16 - 6.12"
         type: boolean
-        default: true
+        default: false
       build_custom:
         description: "Custom Builds"
         type: boolean