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>
This commit is contained in:
parent
60bdb327c6
commit
95b5b025a0
|
@ -33,7 +33,8 @@ fi
|
|||
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.
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -14,7 +14,7 @@ LINTDIR="$(
|
|||
|
||||
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 $?)
|
||||
|
|
|
@ -11,19 +11,19 @@ LINTDIR="$(
|
|||
# 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:]]*$" % | \
|
||||
|
|
|
@ -28,7 +28,11 @@ HEADER_EXCLUDED="\
|
|||
_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
|
||||
|
|
Loading…
Reference in New Issue