Переглянути джерело

ci(workflows): improve sed command robustness in kernel version check

The previous sed commands for modifying version.c and module.c were fragile and could fail in some cases. The new commands use a more reliable pattern to ensure the return value modification is applied correctly.
TheWildJames 1 рік тому
батько
коміт
cd3aaf96c1
1 змінених файлів з 4 додано та 4 видалено
  1. 4 4
      .github/workflows/build.yml

+ 4 - 4
.github/workflows/build.yml

@@ -206,12 +206,12 @@ jobs:
         run: |
           if [[ "${{ inputs.kernel_version }}" == "6.1" || "${{ inputs.kernel_version }}" == "6.6" ]]; then
             cd "$CONFIG/common/kernel/module"
-            sed -i 's/pr_warn("%s: disagrees about version of symbol %s\\n"/pr_warn("%s: disagrees about version of symbol %s, but ignore...\\n"/' version.c
-            sed -i '0,/bad_version:/{/bad_version:/,/return 0;/{s/return 0;/return 1;/}}' version.c
+            #sed -i 's/pr_warn("%s: disagrees about version of symbol %s\\n"/pr_warn("%s: disagrees about version of symbol %s, but ignore...\\n"/' version.c
+            sed -i '/bad_version:/{:a;n;/return 0;/{s/return 0;/return 1;/;b};ba}' version.c
           else
             cd "$CONFIG/common/kernel"
-            sed -i 's/pr_warn("%s: disagrees about version of symbol %s\\n"/pr_warn("%s: disagrees about version of symbol %s, but ignore...\\n"/' module.c
-            sed -i '0,/bad_version:/{/bad_version:/,/return 0;/{s/return 0;/return 1;/}}' module.c
+            #sed -i 's/pr_warn("%s: disagrees about version of symbol %s\\n"/pr_warn("%s: disagrees about version of symbol %s, but ignore...\\n"/' module.c
+            sed -i '/bad_version:/{:a;n;/return 0;/{s/return 0;/return 1;/;b};ba}' module.c
           fi
 
       - name: Fix WiFi and Bluetooth on Samsung 6.6 GKI devices