summaryrefslogtreecommitdiff
path: root/build-aux/lint-generic
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/lint-generic')
-rwxr-xr-xbuild-aux/lint-generic16
1 files changed, 12 insertions, 4 deletions
diff --git a/build-aux/lint-generic b/build-aux/lint-generic
index 9f9e0f7..fcc0457 100755
--- a/build-aux/lint-generic
+++ b/build-aux/lint-generic
@@ -4,16 +4,24 @@
# Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
# SPDX-License-Identifier: AGPL-3.0-or-later
+RED=$(tput setaf 1)
+RESET=$(tput sgr0)
+
+err() {
+ printf "${RED}%s${RESET}: %s\n" "$1" "$2" >&2
+ r=1
+}
+
r=0
for filename in "$@"; do
if ! { [ -f "$filename" ] && ! [ -h "$filename" ]; }; then
continue
fi
if ! grep -E -q 'Copyright \(C\) 202[4-9]((-|, )202[5-9])* Luke T. Shumaker' "$filename"; then
- echo "$filename is missing a copyright statement"; r=1
+ err "$filename" 'is missing a copyright statement'
fi
if ! grep -q ' SPDX-License-Identifier[:] ' "$filename"; then
- echo "$filename is missing an SPDX-License-Identifier"; r=1
+ err "$filename" 'is missing an SPDX-License-Identifier'
fi
dscname_act=$(./build-aux/get-dscname "$filename")
dscname_exp=$(echo "$filename" | sed \
@@ -22,10 +30,10 @@ for filename in "$@"; do
-e 's,.*include/,,' \
-e 's/\.wip$//')
if [ "$dscname_act" != "$dscname_exp" ] && [ "cmd/$dscname_act" != "$dscname_exp" ]; then
- echo "$filename self-identifies as $dscname_act (expected $dscname_exp)"; r=1
+ err "$filename" "self-identifies as $dscname_act (expected $dscname_exp)"
fi
if grep -n --color=auto "$(printf '\\S\t')" "$filename"; then
- echo "$filename uses tabs for alignment"; r=1
+ err "$filename" 'uses tabs for alignment'
fi
done
exit $r