util/lint: Fix linting outside of git repos
If the coreboot code is not in a git repository, the linters switch
from using `git ls-files` to find. This requires some changes to
prevent the linters from looking at the wrong files which are
automatically excluded by git.
Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I81d138760c29a7c476280bb9d963f6be99c75d6d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68475
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
diff --git a/util/lint/helper_functions.sh b/util/lint/helper_functions.sh
index 0c679d9..7abdab8 100644
--- a/util/lint/helper_functions.sh
+++ b/util/lint/helper_functions.sh
@@ -33,7 +33,8 @@
if [ "${IN_GIT_TREE}" -eq 1 ]; then
FIND_FILES="${GIT} ls-files"
else
- FIND_FILES="find src"
+ FIND_FILES="find "
+ FINDOPTS="-type f"
fi
# Use git grep if the code is in a git repo, otherwise use grep.
diff --git a/util/lint/lint-extended-007-checkpatch b/util/lint/lint-extended-007-checkpatch
index 8ec1188..24d505b 100755
--- a/util/lint/lint-extended-007-checkpatch
+++ b/util/lint/lint-extended-007-checkpatch
@@ -7,7 +7,7 @@
PIDS=""
DIRS="src/acpi \
src/cpu/armltd src/cpu/qemu-power8 src/cpu/qemu-x86 \
-src/drivers/gic src/drivers/ti \
+src/drivers/ti \
src/ec/purism \
src/include/boot src/include/superio src/include/sys \
src/mainboard/adlink src/mainboard/purism src/mainboard/ti \
diff --git a/util/lint/lint-extended-015-final-newlines b/util/lint/lint-extended-015-final-newlines
index 2c79283..b761afb 100755
--- a/util/lint/lint-extended-015-final-newlines
+++ b/util/lint/lint-extended-015-final-newlines
@@ -14,7 +14,7 @@
PIDS=""
INCLUDED_DIRS_AND_FILES='util/* src/* payloads/* configs/* Makefile *.inc'
-EXCLUDED_DIRS='src/vendorcode/\|cbfstool/lzma/\|cbfstool/lz4/\|Documentation/\|build/\|3rdparty/\|\.git/\|coreboot-builds/\|util/nvidia/cbootimage/'
+EXCLUDED_DIRS='src/vendorcode/\|cbfstool/lzma/\|cbfstool/lz4/\|Documentation/\|build/\|3rdparty/\|\.git/\|coreboot-builds/\|util/nvidia/cbootimage/\|^util/goswid/vendor'
EXCLUDED_FILES='\.gif$\|\.jpg$\|\.cksum$\|\.bin$\|\.vbt$\|\.hex$\|\.ico$\|\.o$\|\.bz2$\|\.xz$\|^.tmpconfig\|\.pyc$\|_shipped$\|sha256$\|\.png$\|\.patch$'
HAVE_FILE=$(command -v file 1>/dev/null 2>&1; echo $?)
diff --git a/util/lint/lint-stable-003-whitespace b/util/lint/lint-stable-003-whitespace
index 0611f25..838ea93 100755
--- a/util/lint/lint-stable-003-whitespace
+++ b/util/lint/lint-stable-003-whitespace
@@ -11,19 +11,19 @@
# shellcheck source=helper_functions.sh
. "${LINTDIR}/helper_functions.sh"
-EXCLUDELIST='^src/vendorcode/|^util/kconfig/|^util/nvidia/cbootimage$|^util/goswid$|COPYING|LICENSE|README|_shipped$|\.patch$|\.bin$|\.hex$|\.jpg$|\.gif$|\.ttf$|\.woff$|\.png$|\.eot$|\.vbt$|\.ico$|\.md$'
+EXCLUDELIST='^src/vendorcode/|^util/kconfig/|^util/nvidia/cbootimage/|^util/goswid/|__pycache__|COPYING|LICENSE|README|_shipped$|\.patch$|\.bin$|\.hex$|\.jpg$|\.gif$|\.ttf$|\.woff$|\.png$|\.eot$|\.vbt$|\.ico$|\.md$'
INCLUDELIST="src util payloads Makefile* toolchain.inc tests"
# shellcheck disable=SC2086,SC2046
if uname | grep -qi "linux"; then
grep -n -H "[[:space:]][[:space:]]*$" \
- $(${FIND_FILES} $INCLUDELIST | \
+ $(${FIND_FILES} ${INCLUDELIST} ${FINDOPTS} | \
grep -Ev "($EXCLUDELIST)" ) | \
sed -e "s,^.*$,File & has lines ending with whitespace.,"
else
# The above form is much (100x) faster, but doesn't work
# on all systems. A for loop also works but takes 30% longer
- ${FIND_FILES} $INCLUDELIST | \
+ ${FIND_FILES} ${INCLUDELIST} ${FINDOPTS}| \
grep -Ev "($EXCLUDELIST)" | \
xargs -I % \
grep -l "[[:space:]][[:space:]]*$" % | \
diff --git a/util/lint/lint-stable-009-old-licenses b/util/lint/lint-stable-009-old-licenses
index 0b77226..09b53a2 100755
--- a/util/lint/lint-stable-009-old-licenses
+++ b/util/lint/lint-stable-009-old-licenses
@@ -28,7 +28,11 @@
_shipped$|\
^util/scripts/no-fsf-addresses.sh|\
^util/lint/lint-000-license-headers|\
-^util/lint/lint-stable-009-old-licenses\
+^util/lint/lint-stable-009-old-licenses|\
+^util/nvidia/cbootimage|\
+^3rdparty|\
+__pycache__|\
+^payloads/external\
"
if [ -z "$HEADER_DIRS" ]; then