]> www.infradead.org Git - users/griffoul/linux.git/commitdiff
docs: kernel-doc: emit warnings for ancient versions of Python
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 11 Jul 2025 07:27:08 +0000 (09:27 +0200)
committerJonathan Corbet <corbet@lwn.net>
Thu, 17 Jul 2025 21:29:53 +0000 (15:29 -0600)
Kernel-doc requires at least version 3.6 to run, as it uses f-string.
Yet, Kernel build currently calls kernel-doc with -none on some places.
Better not to bail out when older versions are found.

Versions of Python prior to 3.7 do not guarantee to remember the insertion
order of dicts; since kernel-doc depends on that guarantee, running with
such older versions could result in output with reordered sections.

Check Python version when called via command line.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/7d7fa3a3aa1fafa0cc9ea29c889de4c7d377dca6.1752218291.git.mchehab+huawei@kernel.org
scripts/kernel-doc.py

index 12ae66f40bd7d09b7b7748f29ffd41fd403b2879..fc3d46ef519f8bbfc85d94098c000f89b268c9fd 100755 (executable)
@@ -271,6 +271,16 @@ def main():
 
     logger.addHandler(handler)
 
+    python_ver = sys.version_info[:2]
+    if python_ver < (3,6):
+        logger.warning("Python 3.6 or later is required by kernel-doc")
+
+        # Return 0 here to avoid breaking compilation
+        sys.exit(0)
+
+    if python_ver < (3,7):
+        logger.warning("Python 3.7 or later is required for correct results")
+
     if args.man:
         out_style = ManFormat(modulename=args.modulename)
     elif args.none: