action.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. name: add configs
  2. description: add configs and disabling securities
  3. inputs:
  4. branch:
  5. description: 'which device kernel'
  6. required: true
  7. runs:
  8. using: composite
  9. steps:
  10. - name: add mountify support
  11. shell: bash
  12. run: |
  13. cat >> "$GKI_DEFCONFIG" << 'EOF'
  14. # Mountify Support
  15. CONFIG_OVERLAY_FS=y
  16. CONFIG_TMPFS_XATTR=y
  17. CONFIG_TMPFS_POSIX_ACL=y
  18. EOF
  19. - name: add KPM support
  20. shell: bash
  21. run: |
  22. kpmconfig=(
  23. "CONFIG_KALLSYMS=y"
  24. "CONFIG_KALLSYMS_ALL=y"
  25. )
  26. for config in "${kpmconfig[@]}"; do
  27. key="${config%%=*}"
  28. if grep -qE "^(${key}=|# ${key} is not set$)" "$GKI_DEFCONFIG"; then
  29. sed -i -E \
  30. -e "s/^${key}=.*/${config}/" \
  31. -e "s/^# ${key} is not set\$/${config}/" \
  32. "$GKI_DEFCONFIG"
  33. else
  34. echo "$config" >> "$GKI_DEFCONFIG"
  35. fi
  36. done
  37. - name: nuke securities for root access
  38. shell: bash
  39. run: |
  40. # 1. Determine which defconfig file needs to be patched based on the branch
  41. target_config=""
  42. if [[ ${{ inputs.branch }} == SM-S938B* || "${{ inputs.branch }}" == "SM-S931B-Oneui8" ]]; then
  43. echo "Nothing to see here, moving on..."
  44. elif [[ "${{ inputs.branch }}" == SM-S926B* ]]; then
  45. target_config="$COMMON/arch/arm64/configs/s5e9945-bazel_defconfig"
  46. elif [[ "${{ inputs.branch }}" == SM-A556* ]]; then
  47. target_config="$COMMON/arch/arm64/configs/s5e8845-bazel_defconfig"
  48. else
  49. target_config="$GKI_DEFCONFIG"
  50. fi
  51. # 2. Apply the nuke modifications exactly once if a target file was assigned
  52. if [ -n "$target_config" ]; then
  53. echo "Nuking Samsung Knox/Root protection in: $target_config"
  54. config=(
  55. "CONFIG_UH=n"
  56. "CONFIG_UH_RKP=n"
  57. "CONFIG_UH_LKMAUTH=n"
  58. "CONFIG_UH_LKM_BLOCK=n"
  59. "CONFIG_RKP_CFP_JOPP=n"
  60. "CONFIG_RKP_CFP_ROPP=n"
  61. "CONFIG_RKP_CFP=n"
  62. "CONFIG_SECURITY_DEFEX=n"
  63. "CONFIG_SECURITY_DEFEX_USER=n"
  64. "CONFIG_SECURITY_DEFEX_IMR=n"
  65. "CONFIG_SECURITY_DEFEX_DTM=n"
  66. "CONFIG_PROCA=n"
  67. "CONFIG_PROCA_S_OS=n"
  68. "CONFIG_PROCA_GKI_10=n"
  69. "CONFIG_PROCA_CERTIFICATES_XATTR=n"
  70. "CONFIG_PROCA_CERT_ENG=n"
  71. "CONFIG_PROCA_CERT_USER=n"
  72. "CONFIG_FIVE=n"
  73. "CONFIG_FIVE_GKI_10=n"
  74. "CONFIG_FIVE_TEE_DRIVER=n"
  75. "CONFIG_FIVE_PA_FEATURE=n"
  76. "CONFIG_FIVE_CERT_USER=n"
  77. "CONFIG_FIVE_DEFAULT_HASH=n"
  78. "CONFIG_RKP=n"
  79. "CONFIG_KDP_NS=n"
  80. "CONFIG_KDP=n"
  81. "CONFIG_KNOX_NCM=n"
  82. "CONFIG_DDAR=n"
  83. "CONFIG_GAF=n"
  84. "CONFIG_GAF_V6=n"
  85. )
  86. for config in "${configs[@]}"; do
  87. key="${config%%=*}"
  88. if grep -qE "^(${key}=|# ${key} is not set$)" "$target_config"; then
  89. sed -i -E \
  90. -e "s/^${key}=.*/${config}/" \
  91. -e "s/^# ${key} is not set\$/${config}/" \
  92. "$target_config"
  93. else
  94. echo "$config" >> "$target_config"
  95. fi
  96. done
  97. fi
  98. - name: remove check_defconfig
  99. shell: bash
  100. run: |
  101. cd "$COMMON"
  102. # Remove check_defconfig
  103. sed -i 's/check_defconfig//' ./build.config.gki