Procházet zdrojové kódy

Fix build.sh config fragment application

trae před 4 měsíci
rodič
revize
d80d7be897

+ 8 - 1
.github/actions/build-kernel/action.yml

@@ -10,6 +10,13 @@ runs:
     run: |
       set -euo pipefail
 
+      GKI_KCONFIG_FRAGMENT_PATH="${{ github.workspace }}/wild_gki.fragment"
+      GKI_DEFCONFIG_WRAPPER_PATH="${{ github.workspace }}/wild_gki.wrap.sh"
+
+      cat > "${GKI_DEFCONFIG_WRAPPER_PATH}" <<EOF
+      append_cmd POST_DEFCONFIG_CMDS 'if [ -f "${GKI_KCONFIG_FRAGMENT_PATH}" ]; then \${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -O \${OUT_DIR} \${OUT_DIR}/.config "${GKI_KCONFIG_FRAGMENT_PATH}"; fi && (cd \${KERNEL_DIR} && make O=\${OUT_DIR} olddefconfig)'
+      EOF
+
       # Override expensive GKI build.sh artifact defaults we do not need in CI.
       GKI_BUILD_CONFIG_FRAGMENT_PATH="${{ github.workspace }}/gki_build_overrides.fragment"
       cat > "${GKI_BUILD_CONFIG_FRAGMENT_PATH}" <<'EOF'
@@ -30,7 +37,7 @@ runs:
         SKIP_CP_KERNEL_HDR=1 \
         SKIP_MRPROPER=1 \
         LTO=thin \
-        GKI_DEFCONFIG_FRAGMENT="${{ github.workspace }}/wild_gki.fragment" \
+        GKI_DEFCONFIG_FRAGMENT="${GKI_DEFCONFIG_WRAPPER_PATH}" \
         GKI_BUILD_CONFIG_FRAGMENT="${GKI_BUILD_CONFIG_FRAGMENT_PATH}" \
         BUILD_CONFIG=common/build.config.gki.aarch64 \
         build/build.sh -j"$(nproc)" \

+ 2 - 42
.github/actions/droidspaces/action.yml

@@ -61,51 +61,11 @@ runs:
       working-directory: ${{ github.workspace }}/kernel
       run: |
         cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
+        CONFIG_ANDROID_KABI_RESERVE=y
+        CONFIG_ANDROID_VENDOR_OEM_DATA=y
         CONFIG_SYSVIPC=y
         CONFIG_POSIX_MQUEUE=y
         CONFIG_IPC_NS=y
         CONFIG_PID_NS=y
         CONFIG_DEVTMPFS=y
         EOF
-
-    - name: Fix 5.10
-      shell: bash
-      if: inputs.version == 'android12-5.10' || inputs.version == 'android13-5.10'
-      working-directory: ${{ github.workspace }}/kernel/common
-      run: |
-        grep -n "get_pid_ns" include/linux/pid_namespace.h | head -n 5
-        while grep -q 'static.*inline.*get_pid_ns' include/linux/pid_namespace.h; do
-          sed -i '1,/static.*inline.*get_pid_ns/ { /static.*inline.*get_pid_ns/ { s@.*@extern struct pid_namespace *get_pid_ns(struct pid_namespace *ns);@; :a; N; /\n[[:space:]]*}[[:space:]]*$/!ba; s/\n.*//; } }' include/linux/pid_namespace.h
-        done
-        while grep -q 'static.*inline.*copy_pid_ns' include/linux/pid_namespace.h; do
-          sed -i '1,/static.*inline.*copy_pid_ns/ { /static.*inline.*copy_pid_ns/ { s@.*@extern struct pid_namespace *copy_pid_ns(unsigned long flags, struct user_namespace *user_ns, struct pid_namespace *ns);@; :a; N; /\n[[:space:]]*}[[:space:]]*$/!ba; s/\n.*//; } }' include/linux/pid_namespace.h
-        done
-        while grep -q 'static.*inline.*put_pid_ns' include/linux/pid_namespace.h; do
-          sed -i '1,/static.*inline.*put_pid_ns/ { /static.*inline.*put_pid_ns/ { s@.*@extern void put_pid_ns(struct pid_namespace *ns);@; :a; N; /\n[[:space:]]*}[[:space:]]*$/!ba; s/\n.*//; } }' include/linux/pid_namespace.h
-        done
-        while grep -q 'static.*inline.*zap_pid_ns_processes' include/linux/pid_namespace.h; do
-          sed -i '1,/static.*inline.*zap_pid_ns_processes/ { /static.*inline.*zap_pid_ns_processes/ { s@.*@extern void zap_pid_ns_processes(struct pid_namespace *pid_ns);@; :a; N; /\n[[:space:]]*}[[:space:]]*$/!ba; s/\n.*//; } }' include/linux/pid_namespace.h
-        done
-        while grep -q 'static.*inline.*reboot_pid_ns' include/linux/pid_namespace.h; do
-          sed -i '1,/static.*inline.*reboot_pid_ns/ { /static.*inline.*reboot_pid_ns/ { s@.*@extern int reboot_pid_ns(struct pid_namespace *pid_ns, int cmd);@; :a; N; /\n[[:space:]]*}[[:space:]]*$/!ba; s/\n.*//; } }' include/linux/pid_namespace.h
-        done
-
-        while grep -q 'static.*inline.*sem_init_ns' ipc/util.h; do
-          sed -i '1,/static.*inline.*sem_init_ns/ { /static.*inline.*sem_init_ns/ { s@.*@void sem_init_ns(struct ipc_namespace *ns);@; } }' ipc/util.h
-        done
-        while grep -q 'static.*inline.*msg_init_ns' ipc/util.h; do
-          sed -i '1,/static.*inline.*msg_init_ns/ { /static.*inline.*msg_init_ns/ { s@.*@void msg_init_ns(struct ipc_namespace *ns);@; } }' ipc/util.h
-        done
-        while grep -q 'static.*inline.*shm_init_ns' ipc/util.h; do
-          sed -i '1,/static.*inline.*shm_init_ns/ { /static.*inline.*shm_init_ns/ { s@.*@void shm_init_ns(struct ipc_namespace *ns);@; } }' ipc/util.h
-        done
-        while grep -q 'static.*inline.*sem_exit_ns' ipc/util.h; do
-          sed -i '1,/static.*inline.*sem_exit_ns/ { /static.*inline.*sem_exit_ns/ { s@.*@void sem_exit_ns(struct ipc_namespace *ns);@; } }' ipc/util.h
-        done
-        while grep -q 'static.*inline.*msg_exit_ns' ipc/util.h; do
-          sed -i '1,/static.*inline.*msg_exit_ns/ { /static.*inline.*msg_exit_ns/ { s@.*@void msg_exit_ns(struct ipc_namespace *ns);@; } }' ipc/util.h
-        done
-        while grep -q 'static.*inline.*shm_exit_ns' ipc/util.h; do
-          sed -i '1,/static.*inline.*shm_exit_ns/ { /static.*inline.*shm_exit_ns/ { s@.*@void shm_exit_ns(struct ipc_namespace *ns);@; } }' ipc/util.h
-        done
-        grep -n "get_pid_ns" include/linux/pid_namespace.h | head -n 5