[PATCH] checkpatch: use python3 to find codespell dictionary

Kory Maincent kory.maincent at bootlin.com
Mon Sep 29 17:12:51 CEST 2025


From: Sagar Patel <sagarmp at cs.unc.edu>

Import Linux patch to locate codespell dictionary:
https://lore.kernel.org/lkml/20220309180048.147672-1-sagarmp@cs.unc.edu/

codespell requires Python 3.6 or above, but on some systems, the python
executable is a Python 2.7 interpreter.  In this case, searching for the
dictionary fails, subsequently making codespell fail:

  No codespell typos will be found - file '/usr/share/codespell/dictionary.txt': No such file or directory

So, use python3 to remove ambiguity.

In addition, when searching for dictionary.txt, do not check if the
codespell executable exists since,

 - checkpatch.pl only uses dictionary.txt, not the codespell
   executable.

 - codespell can be installed via a Python package manager, in which
   case the codespell executable may not be present in a typical $PATH,
   but a dictionary does exist.

Signed-off-by: Sagar Patel <sagarmp at cs.unc.edu>
Signed-off-by: Kory Maincent <kory.maincent at bootlin.com>
---
 scripts/checkpatch.pl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 763287e02b1..b0ee126bd89 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -337,7 +337,7 @@ if ($user_codespellfile) {
 } elsif (!(-f $codespellfile)) {
 	# If /usr/share/codespell/dictionary.txt is not present, try to find it
 	# under codespell's install directory: <codespell_root>/data/dictionary.txt
-	if (($codespell || $help) && which("codespell") ne "" && which("python") ne "") {
+	if (($codespell || $help) && which("python3") ne "") {
 		my $python_codespell_dict = << "EOF";
 
 import os.path as op
@@ -347,7 +347,7 @@ codespell_file = op.join(codespell_dir, 'data', 'dictionary.txt')
 print(codespell_file, end='')
 EOF
 
-		my $codespell_dict = `python -c "$python_codespell_dict" 2> /dev/null`;
+		my $codespell_dict = `python3 -c "$python_codespell_dict" 2> /dev/null`;
 		$codespellfile = $codespell_dict if (-f $codespell_dict);
 	}
 }
-- 
2.43.0



More information about the U-Boot mailing list