1010 kernel_branch :
1111 description : ' Kernel branch'
1212 required : true
13- default : ' lineage-22.1 '
13+ default : ' lineage-23.0 '
1414 defconfig_file :
1515 description : ' Kernel defconfig filename'
1616 required : true
17- default : ' lineage_sm8150_defconfig '
17+ default : ' defconfig '
1818 use_kernelsu_next :
1919 description : ' Use KernelSU-Next instead of KernelSU'
2020 required : true
21- default : ' true'
21+ default : true
2222 type : boolean
2323 enable_susfs :
2424 description : ' Enable SUSFS patches'
2525 required : true
26- default : ' true '
26+ default : false
2727 type : boolean
2828 release_name :
2929 description : ' Release name for ZIPs'
3939 with :
4040 fetch-depth : 0
4141
42- - name : Install full build dependencies (including cross-toolchain)
42+ - name : Install full build dependencies
4343 run : |
4444 sudo apt-get update -y
4545 sudo apt-get install -y --fix-missing \
7676 fi
7777
7878 - name : Apply SUSFS patches if enabled
79- if : github.event.inputs.enable_susfs == ' true'
79+ if : github.event.inputs.enable_susfs == true
8080 working-directory : ./kernel
8181 run : |
8282 git clone https://gitlab.com/simonpunk/susfs4ksu.git -b kernel-4.14 susfs_patches
@@ -96,21 +96,21 @@ jobs:
9696 exit 1
9797 fi
9898
99- - name : Patch btrfs struct timespec64 using patch file
99+ - name : Patch btrfs struct timespec64
100100 working-directory : ./kernel
101101 run : |
102102 patchfile="btrfs_timespec64.patch"
103- cat > $patchfile <<EOF
104- --- a/fs/btrfs/inode.c
105- +++ b/fs/btrfs/inode.c
106- @@ -6627,7 +6627,7 @@
107- - struct timespec now = current_time(&parent_inode->vfs_inode);
108- + struct timespec64 now = current_time(&parent_inode->vfs_inode);
109- EOF
103+ cat > $patchfile <<' EOF'
104+ --- a/fs/btrfs/inode.c
105+ +++ b/fs/btrfs/inode.c
106+ @@ -6627,7 +6627,7 @@
107+ - struct timespec now = current_time(&parent_inode->vfs_inode);
108+ + struct timespec64 now = current_time(&parent_inode->vfs_inode);
109+ + EOF
110110 if grep -qF "struct timespec now = current_time(&parent_inode->vfs_inode);" fs/btrfs/inode.c; then
111- patch -p1 < $patchfile || (echo "Patch failed or already applied"; exit 1)
111+ patch -p1 < $patchfile
112112 else
113- echo "Patch already applied or no match"
113+ echo "Patch for btrfs timespec64 already applied or no match found. "
114114 fi
115115
116116 - name : Patch try_to_unmap argument pattern
@@ -119,7 +119,7 @@ jobs:
119119 sed -i 's|try_to_unmap(page, ttu_flags);|try_to_unmap(page, ttu_flags, NULL);|g' mm/huge_memory.c
120120 echo "Applied try_to_unmap patch."
121121
122- - name : Patch hugetlbpage ptep allocation (safe/atomic, non-fatal)
122+ - name : Patch hugetlbpage ptep allocation
123123 working-directory : ./kernel
124124 run : |
125125 file=arch/arm64/mm/hugetlbpage.c
@@ -129,7 +129,7 @@ jobs:
129129 fi
130130 ln=$(awk '/huge_pte_alloc/{f=1} f && /{/{print NR; exit}' $file)
131131 if [ -n "$ln" ]; then
132- if ! sed -n "$((ln+1)),$((ln+15))p" $file | grep -q "pte_t *ptep"; then
132+ if ! sed -n "$((ln+1)),$((ln+15))p" $file | grep -q "pte_t \ *ptep"; then
133133 sed -i "$((ln+1)) i\ pte_t *ptep = NULL;" $file
134134 echo "Inserted 'pte_t *ptep = NULL;' after line $ln"
135135 fi
@@ -138,29 +138,20 @@ jobs:
138138 echo "huge_pte_alloc function not found, skipping ptep patch"
139139 fi
140140
141- - name : Remove mm->nr_ptes usage (safe/atomic)
141+ - name : Remove mm->nr_ptes usage
142142 working-directory : ./kernel
143143 run : |
144144 sed -i 's/\(.*mm->nr_ptes.*\)/\/\* REMOVED_for_ARM64 \1 \*\//' mm/khugepaged.c
145145 echo "Commented out mm->nr_ptes usage."
146146
147147 - name : Add SUSFS configs if enabled
148- if : github.event.inputs.enable_susfs == ' true'
148+ if : github.event.inputs.enable_susfs == true
149149 working-directory : ./kernel
150150 run : |
151151 conf="arch/arm64/configs/${{ github.event.inputs.defconfig_file }}"
152152 {
153153 echo "CONFIG_KSU=y"
154154 echo "CONFIG_KSU_SUSFS=y"
155- echo "CONFIG_KSU_SUSFS_SUS_PATH=y"
156- echo "CONFIG_KSU_SUSFS_SUS_MOUNT=y"
157- echo "CONFIG_KSU_SUSFS_SUS_KSTAT=y"
158- echo "CONFIG_KSU_SUSFS_SUS_OVERLAYFS=y"
159- echo "CONFIG_KSU_SUSFS_TRY_UMOUNT=y"
160- echo "CONFIG_KSU_SUSFS_SPOOF_UNAME=y"
161- echo "CONFIG_KSU_SUSFS_ENABLE_LOG=y"
162- echo "CONFIG_KSU_SUSFS_OPEN_REDIRECT=y"
163- echo "CONFIG_KSU_SUSFS_SUS_SU=y"
164155 } >> "$conf"
165156
166157 - name : Disable problematic configs
@@ -209,7 +200,7 @@ jobs:
209200 run : |
210201 if [ -d "kernel/AnyKernel3" ] && [ -n "$(ls -A kernel/AnyKernel3)" ]; then
211202 cd kernel/AnyKernel3
212- zip -r ../../${{ github.event.inputs.release_name }}.zip * -x ".*" -x "__MACOSX"
203+ zip -r ../../${{ github.event.inputs.release_name }}.zip ./*
213204 cd ../../
214205 else
215206 echo "AnyKernel3 directory is empty or missing, skipping kernel zip."
@@ -222,7 +213,7 @@ jobs:
222213 make O=out ARCH=arm64 LTO=thin CROSS_COMPILE=aarch64-linux-gnu- modules_prepare
223214 make O=out ARCH=arm64 LTO=thin CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) M=$(pwd)/drivers/staging/qcacld-3.0 modules
224215 mkdir -p ../modules/vendor/lib/modules
225- find out/drivers/staging/qcacld-3.0 -name "* .ko" -exec cp -v {} ../modules/vendor/lib/modules/ \;
216+ find out -name "wlan .ko" -exec cp -v {} ../modules/vendor/lib/modules/ \;
226217 sudo chown -R $(id -u):$(id -g) ../modules
227218
228219 - name : Package Wi-Fi Module ZIP
@@ -231,7 +222,7 @@ jobs:
231222 echo "No Wi-Fi modules found to package."
232223 else
233224 cd modules
234- zip -r ../${{ github.event.inputs.release_name }}-modules.zip *
225+ zip -r ../${{ github.event.inputs.release_name }}-modules.zip ./ *
235226 cd ..
236227 fi
237228
0 commit comments