Browse Source

refractor appending.

use an array. if exists but not set right, change it. if doesn't exist, append at end of defconfig
jimsterino98 1 month ago
parent
commit
1d4af730c1
1 changed files with 28 additions and 15 deletions
  1. 28 15
      .github/actions/droidspaces/action.yml

+ 28 - 15
.github/actions/droidspaces/action.yml

@@ -20,18 +20,31 @@ runs:
      fi
 
      cd "$GITHUB_WORKSPACE"
-     cat >> "$GKI_DEFCONFIG" << 'EOF'
-     CONFIG_SYSVIPC=y
-     CONFIG_POSIX_MQUEUE=y
-     CONFIG_IPC_NS=y
-     CONFIG_PID_NS=y
-     CONFIG_DEVTMPFS=y
-     CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
-     CONFIG_NETFILTER_XT_TARGET_REJECT=y
-     CONFIG_NETFILTER_XT_TARGET_LOG=y
-     CONFIG_NETFILTER_XT_MATCH_RECENT=y
-     CONFIG_IP_SET=y
-     CONFIG_IP_SET_HASH_IP=y
-     CONFIG_IP_SET_HASH_NET=y
-     CONFIG_NETFILTER_XT_SET=y
-     EOF
+     configs=(
+     "CONFIG_SYSVIPC=y"
+     "CONFIG_POSIX_MQUEUE=y"
+     "CONFIG_IPC_NS=y"
+     "CONFIG_PID_NS=y"
+     "CONFIG_DEVTMPFS=y"
+     "CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y"
+     "CONFIG_NETFILTER_XT_TARGET_REJECT=y"
+     "CONFIG_NETFILTER_XT_TARGET_LOG=y"
+     "CONFIG_NETFILTER_XT_MATCH_RECENT=y"
+     "CONFIG_IP_SET=y"
+     "CONFIG_IP_SET_HASH_IP=y"
+     "CONFIG_IP_SET_HASH_NET=y"
+     "CONFIG_NETFILTER_XT_SET=y"
+     )
+     
+     for config in "${configs[@]}"; do
+         key="${config%%=*}"
+
+         if grep -qE "^(${key}=|# ${key} is not set$)" "$GKI_DEFCONFIG"; then
+             sed -i -E \
+                 -e "s/^${key}=.*/${config}/" \
+                 -e "s/^# ${key} is not set\$/${config}/" \
+                 "$GKI_DEFCONFIG"
+         else
+             echo "$config" >> "$GKI_DEFCONFIG"
+         fi
+     done