devtools: add checkpatch spelling dictionary builder
authorThomas Monjalon <thomas@monjalon.net>
Tue, 7 Jul 2020 08:35:55 +0000 (10:35 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 30 Jul 2020 23:09:26 +0000 (01:09 +0200)
The script checkpatch.pl (used in checkpatches.sh) can use a dictionary
from the codespell project to check spelling.
There are multiple dictionaries to be used.

The script build-dict.sh concatenate multiple dictionaries and remove
some annoying false positives.

The dictionary built by this script must be saved in a file which
is referenced with the environment variable DPDK_CHECKPATCH_CODESPELL.
The easiest is to export this variable in ~/.config/dpdk/devel.config.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
MAINTAINERS
devtools/build-dict.sh [new file with mode: 0755]

index 5328415..d49628b 100644 (file)
@@ -85,6 +85,7 @@ F: doc/
 Developers and Maintainers Tools
 M: Thomas Monjalon <thomas@monjalon.net>
 F: MAINTAINERS
+F: devtools/build-dict.sh
 F: devtools/check-dup-includes.sh
 F: devtools/check-maintainers.sh
 F: devtools/check-forbidden-tokens.awk
diff --git a/devtools/build-dict.sh b/devtools/build-dict.sh
new file mode 100755 (executable)
index 0000000..a8cac49
--- /dev/null
@@ -0,0 +1,22 @@
+#! /bin/sh -e
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2020 Mellanox Technologies, Ltd
+
+# Build a spelling dictionary suitable for DPDK_CHECKPATCH_CODESPELL
+
+# path to local clone of https://github.com/codespell-project/codespell.git
+codespell_path=$1
+
+# concatenate codespell dictionaries, except GB/US one
+for suffix in .txt _code.txt _informal.txt _names.txt _rare.txt _usage.txt ; do
+       cat $codespell_path/codespell_lib/data/dictionary$suffix
+done |
+
+# remove too short or wrong checks
+sed '/^..->/d' |
+sed '/^uint->/d' |
+sed "/^doesn'->/d" |
+sed '/^wasn->/d' |
+
+# print to stdout
+cat