d81debd946
Each of the tools that used git had similar functionality. This combines all of that into a single script that gets sourced by each. This makes maintenance much easier. By doing this and updating each of the scripts to do the correct thing if the script isn't being run in a git repository, it makes them work much better for the releases, which are just released as a tarball, without any attached git repository. Change-Id: I61ba1cc4f7205e0d4baf993588bbc774120405cb Signed-off-by: Martin Roth <martin@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/64973 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
51 lines
1.3 KiB
Bash
Executable file
51 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env sh
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
# DESCR: Checkpatch on .c, .h, & Kconfig files in the tree
|
|
|
|
LINTDIR="$(
|
|
cd -- "$(dirname "$0")" > /dev/null 2>&1 || return
|
|
pwd -P
|
|
)"
|
|
|
|
# shellcheck source=helper_functions.sh
|
|
. "${LINTDIR}/helper_functions.sh"
|
|
|
|
# GNU BRE syntax list of files to examine
|
|
INCLUDED_FILES='.*\.[ch]\|Kconfig.*$'
|
|
|
|
EXCLUDED_DIRS="^payloads/libpayload/util/kconfig\|\
|
|
^payloads/libpayload/curses/PDCurses\|\
|
|
^util/coreboot-configurator\|\
|
|
^util/crossgcc/patches\|\
|
|
^util/inteltool\|\
|
|
^util/kconfig\|\
|
|
^util/superiotool\|\
|
|
^Documentation"
|
|
|
|
opts="--max-line-length 96"
|
|
|
|
# default: test src and util
|
|
if [ "$1" = "" ]; then
|
|
INCLUDED_DIRS="src util tests"
|
|
# special mode: take diff from stdin, but exclude the dirs
|
|
elif [ "$1" = "diff" ]; then
|
|
args=$( echo $EXCLUDED_DIRS | \
|
|
sed -e 's,\\|, ,g' -e 's,\^,--exclude=,g' )
|
|
util/lint/checkpatch.pl --quiet --no-signoff $opts $args -
|
|
exit $?
|
|
# Space separated list of directories to test
|
|
else
|
|
INCLUDED_DIRS="$1"
|
|
fi
|
|
|
|
# We want word splitting here, so disable the shellcheck warnings
|
|
# shellcheck disable=SC2046,SC2086
|
|
FILELIST=$( ${FIND_FILES} $INCLUDED_DIRS | \
|
|
grep $INCLUDED_FILES | \
|
|
grep -v $EXCLUDED_DIRS )
|
|
|
|
for FILE in $FILELIST; do
|
|
util/lint/checkpatch.pl --show-types --file --quiet $opts "$FILE"
|
|
done
|