summaryrefslogtreecommitdiff
path: root/util/lint/lint-extended-015-final-newlines
diff options
context:
space:
mode:
authorMartin Roth <martin@coreboot.org>2022-06-03 00:06:57 -0600
committerMartin L Roth <gaumless@gmail.com>2022-09-30 19:19:53 +0000
commitd81debd9467f7e0d5a255ed7f6b5f1916c613b77 (patch)
tree224623fc3af10180d652c7c0d7c39925e74e3763 /util/lint/lint-extended-015-final-newlines
parent7726a7f272965d9279e4c8008b893751203aa304 (diff)
util/lint: Update tools that use git to use a library
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>
Diffstat (limited to 'util/lint/lint-extended-015-final-newlines')
-rwxr-xr-xutil/lint/lint-extended-015-final-newlines19
1 files changed, 8 insertions, 11 deletions
diff --git a/util/lint/lint-extended-015-final-newlines b/util/lint/lint-extended-015-final-newlines
index 55b48cf644..2c792839d2 100755
--- a/util/lint/lint-extended-015-final-newlines
+++ b/util/lint/lint-extended-015-final-newlines
@@ -4,22 +4,19 @@
# DESCR: Check that files end with a single newline
-LC_ALL=C export LC_ALL
+LINTDIR="$(
+ cd -- "$(dirname "$0")" > /dev/null 2>&1 || return
+ pwd -P
+)"
+
+# shellcheck source=helper_functions.sh
+. "${LINTDIR}/helper_functions.sh"
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_FILES='\.gif$\|\.jpg$\|\.cksum$\|\.bin$\|\.vbt$\|\.hex$\|\.ico$\|\.o$\|\.bz2$\|\.xz$\|^.tmpconfig\|\.pyc$\|_shipped$\|sha256$\|\.png$\|\.patch$'
-# Use git ls-files if the code is in a git repo, otherwise use find.
-if [ -n "$(command -v git)" ] && \
- [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]
-then
- FIND_FILES="git ls-files"
-else
- FIND_FILES="find"
-fi
-
HAVE_FILE=$(command -v file 1>/dev/null 2>&1; echo $?)
is_eligible_executable() {
@@ -57,7 +54,7 @@ test_for_final_newline() {
}
for directory in $INCLUDED_DIRS_AND_FILES ; do
- ${FIND_FILES} ${directory} | sed 's|^\./||' | sort | \
+ ${FIND_FILES} "${directory}" | sed 's|^\./||' | sort | \
grep -v "$EXCLUDED_DIRS" | \
grep -v "$EXCLUDED_FILES" | \
test_for_final_newline &