From bdf4c957209f894b50ace01d9756bc042527be4f Mon Sep 17 00:00:00 2001 From: crueter Date: Sun, 19 Oct 2025 23:59:06 -0400 Subject: [PATCH] [license-header] make it actually work with posix shells grep doesn't support -P in POSIX, so to get around this we just replace \n with space and match that with a POSIX basic expression Signed-off-by: crueter --- .ci/license-header.sh | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.ci/license-header.sh b/.ci/license-header.sh index 986b364845..71ac212640 100755 --- a/.ci/license-header.sh +++ b/.ci/license-header.sh @@ -66,20 +66,18 @@ header_line2() { echo "$1 SPDX-License-Identifier: $LICENSE" } -# PCRE header string -pcre_header() { - begin="$1" - echo "(?s)$(header_line1 "$begin").*$(header_line2 "$begin")" -} - check_header() { begin="$1" file="$2" - content="$(head -n5 < "$2")" - header="$(pcre_header "$begin")" + # separate things out as spaces to make our lives 100000000x easier + content="$(head -n5 < "$2" | tr '\n' ' ')" + + line1="$(header_line1 "$begin")" + line2="$(header_line2 "$begin")" - if ! echo "$content" | grep -Pzo "$header" > /dev/null; then + # perl and awk are actually awful, so to avoid this problem we avoid it by avoiding it + if ! echo "$content" | grep -o "$line1 $line2"; then # SRC_FILES is Kotlin/C++ # OTHER_FILES is sh, CMake case "$begin" in