]> Gentwo Git Trees - linux/.git/commitdiff
docs: bring some order to our Python module hierarchy
authorJonathan Corbet <corbet@lwn.net>
Mon, 10 Nov 2025 22:04:30 +0000 (15:04 -0700)
committerJonathan Corbet <corbet@lwn.net>
Tue, 18 Nov 2025 16:22:40 +0000 (09:22 -0700)
Now that we have tools/lib/python for our Python modules, turn them into
proper packages with a single namespace so that everything can just use
tools/lib/python in sys.path.  No functional change.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <20251110220430.726665-3-corbet@lwn.net>

18 files changed:
Documentation/sphinx/kernel_abi.py
Documentation/sphinx/kernel_include.py
Documentation/sphinx/kerneldoc.py
scripts/kernel-doc.py
tools/docs/check-variable-fonts.py
tools/docs/get_abi.py
tools/docs/parse-headers.py
tools/docs/sphinx-build-wrapper
tools/docs/sphinx-pre-install
tools/lib/python/__init__.py [new file with mode: 0644]
tools/lib/python/abi/__init__.py [new file with mode: 0644]
tools/lib/python/abi/abi_parser.py
tools/lib/python/abi/abi_regex.py
tools/lib/python/abi/system_symbols.py
tools/lib/python/kdoc/__init__.py [new file with mode: 0644]
tools/lib/python/kdoc/kdoc_files.py
tools/lib/python/kdoc/kdoc_output.py
tools/lib/python/kdoc/kdoc_parser.py

index 7ec832da84447fd079a861fad3d1be558d18c565..5667f207d175cdb664fb7ace6a74ff94f04f95cb 100644 (file)
@@ -43,9 +43,9 @@ from sphinx.util.docutils import switch_source_input
 from sphinx.util import logging
 
 srctree = os.path.abspath(os.environ["srctree"])
-sys.path.insert(0, os.path.join(srctree, "tools/lib/python/abi"))
+sys.path.insert(0, os.path.join(srctree, "tools/lib/python"))
 
-from abi_parser import AbiParser
+from abi.abi_parser import AbiParser
 
 __version__ = "1.0"
 
index a12455daa6d7a9e8ad9dbe0f3c32e542629c4f33..626762ff6af3c385ee93043813550264d2fa555c 100755 (executable)
@@ -97,9 +97,9 @@ from docutils.parsers.rst.directives.body import CodeBlock, NumberLines
 from sphinx.util import logging
 
 srctree = os.path.abspath(os.environ["srctree"])
-sys.path.insert(0, os.path.join(srctree, "tools/lib/python/kdoc"))
+sys.path.insert(0, os.path.join(srctree, "tools/lib/python"))
 
-from parse_data_structs import ParseDataStructs
+from kdoc.parse_data_structs import ParseDataStructs
 
 __version__ = "1.0"
 logger = logging.getLogger(__name__)
index 56f382a6bdf1c4fe0175204eb25dd00165c66764..d8cdf068ef35cfcfdea18de955e1407b96788af6 100644 (file)
@@ -42,10 +42,10 @@ from sphinx.util import logging
 from pprint import pformat
 
 srctree = os.path.abspath(os.environ["srctree"])
-sys.path.insert(0, os.path.join(srctree, "tools/lib/python/kdoc"))
+sys.path.insert(0, os.path.join(srctree, "tools/lib/python"))
 
-from kdoc_files import KernelFiles
-from kdoc_output import RestFormat
+from kdoc.kdoc_files import KernelFiles
+from kdoc.kdoc_output import RestFormat
 
 __version__  = '1.0'
 kfiles = None
index bb24bbf731676557925a47825211323a88de169c..7a1eaf986bcd4f197107bb0c5946f5a438c2700f 100755 (executable)
@@ -111,7 +111,7 @@ import sys
 
 # Import Python modules
 
-LIB_DIR = "../tools/lib/python/kdoc"
+LIB_DIR = "../tools/lib/python"
 SRC_DIR = os.path.dirname(os.path.realpath(__file__))
 
 sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
@@ -292,8 +292,8 @@ def main():
         logger.warning("Python 3.7 or later is required for correct results")
 
     # Import kernel-doc libraries only after checking Python version
-    from kdoc_files import KernelFiles                  # pylint: disable=C0415
-    from kdoc_output import RestFormat, ManFormat       # pylint: disable=C0415
+    from kdoc.kdoc_files import KernelFiles             # pylint: disable=C0415
+    from kdoc.kdoc_output import RestFormat, ManFormat  # pylint: disable=C0415
 
     if args.man:
         out_style = ManFormat(modulename=args.modulename)
index c48bb05dad82f74af24fde4a882ca083af8b808a..958d5a745724e297aae2ad2a729915a10cc87b84 100755 (executable)
@@ -17,9 +17,9 @@ import sys
 import os.path
 
 src_dir = os.path.dirname(os.path.realpath(__file__))
-sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc'))
+sys.path.insert(0, os.path.join(src_dir, '../lib/python'))
 
-from latex_fonts import LatexFontChecker
+from kdoc.latex_fonts import LatexFontChecker
 
 checker = LatexFontChecker()
 
index e0abfe12fac7de493452bd5b560db76a38d78ef3..2f0b99401f2690ad6cd7a5907e7ad3c37ad0337a 100755 (executable)
@@ -14,15 +14,15 @@ import sys
 
 # Import Python modules
 
-LIB_DIR = "../lib/python/abi"
+LIB_DIR = "../lib/python"
 SRC_DIR = os.path.dirname(os.path.realpath(__file__))
 
 sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
 
-from abi_parser import AbiParser                # pylint: disable=C0413
-from abi_regex import AbiRegex                  # pylint: disable=C0413
-from helpers import ABI_DIR, DEBUG_HELP         # pylint: disable=C0413
-from system_symbols import SystemSymbols        # pylint: disable=C0413
+from abi.abi_parser import AbiParser                # pylint: disable=C0413
+from abi.abi_regex import AbiRegex                  # pylint: disable=C0413
+from abi.helpers import ABI_DIR, DEBUG_HELP         # pylint: disable=C0413
+from abi.system_symbols import SystemSymbols        # pylint: disable=C0413
 
 # Command line classes
 
index ed9cf2bf22de9374f7fd62d7c555a465dc127dca..436acea4c6ca2e4c4c93d3b75abacc344912d144 100755 (executable)
@@ -28,9 +28,9 @@ import argparse, sys
 import os.path
 
 src_dir = os.path.dirname(os.path.realpath(__file__))
-sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc'))
-from parse_data_structs import ParseDataStructs
-from enrich_formatter import EnrichFormatter
+sys.path.insert(0, os.path.join(src_dir, '../lib/python'))
+from kdoc.parse_data_structs import ParseDataStructs
+from kdoc.enrich_formatter import EnrichFormatter
 
 def main():
     """Main function"""
index ce0b1b5292da0d57f7082410f1109220d1e6c345..d4943d952e2a15d59b644608b6c0142e702bab31 100755 (executable)
@@ -61,10 +61,9 @@ LIB_DIR = "../lib/python"
 SRC_DIR = os.path.dirname(os.path.realpath(__file__))
 
 sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
-sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR + '/kdoc'))  # temporary
 
-from python_version import PythonVersion
-from latex_fonts import LatexFontChecker
+from kdoc.python_version import PythonVersion
+from kdoc.latex_fonts import LatexFontChecker
 from jobserver import JobserverExec         # pylint: disable=C0413,C0411,E0401
 
 #
index d8c9fb76948d3b3868bbb30507f69d33c32e7a84..965c9b093a41bcb0c01df3d07f12d2d95d2adf22 100755 (executable)
@@ -35,8 +35,8 @@ from glob import glob
 import os.path
 
 src_dir = os.path.dirname(os.path.realpath(__file__))
-sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc'))
-from python_version import PythonVersion
+sys.path.insert(0, os.path.join(src_dir, '../lib/python'))
+from kdoc.python_version import PythonVersion
 
 RECOMMENDED_VERSION = PythonVersion("3.4.3").version
 MIN_PYTHON_VERSION = PythonVersion("3.7").version
diff --git a/tools/lib/python/__init__.py b/tools/lib/python/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tools/lib/python/abi/__init__.py b/tools/lib/python/abi/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
index 66a738013ce13329658dc01928340bf6a19f0a88..9b8db70067efafbf5cd8949d0d66f349b88d858f 100644 (file)
@@ -17,7 +17,7 @@ from random import randrange, seed
 
 # Import Python modules
 
-from helpers import AbiDebug, ABI_DIR
+from abi.helpers import AbiDebug, ABI_DIR
 
 
 class AbiParser:
index 8a57846cbc69c33bb04798be1d779b16e2c0205e..d5553206de3c5b267a5909d52265fc776ed6fb35 100644 (file)
@@ -12,8 +12,8 @@ import sys
 
 from pprint import pformat
 
-from abi_parser import AbiParser
-from helpers import AbiDebug
+from abi.abi_parser import AbiParser
+from abi.helpers import AbiDebug
 
 class AbiRegex(AbiParser):
     """Extends AbiParser to search ABI nodes with regular expressions"""
index f15c94a6e33ced7763e09f7eb61b98a4d2137bb1..4a2554da217bf63f9fad5636340037d206c6127f 100644 (file)
@@ -15,7 +15,7 @@ from concurrent import futures
 from datetime import datetime
 from random import shuffle
 
-from helpers import AbiDebug
+from abi.helpers import AbiDebug
 
 class SystemSymbols:
     """Stores arguments for the class and initialize class vars"""
diff --git a/tools/lib/python/kdoc/__init__.py b/tools/lib/python/kdoc/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
index 1fd8d17edb321616ccf8bec4b0308cdb02a6b07c..562cdf5261c39b46c8fd0143dc2a9af0eaacab72 100644 (file)
@@ -13,8 +13,8 @@ import logging
 import os
 import re
 
-from kdoc_parser import KernelDoc
-from kdoc_output import OutputFormat
+from kdoc.kdoc_parser import KernelDoc
+from kdoc.kdoc_output import OutputFormat
 
 
 class GlobSourceFiles:
index 58f115059e935c3fa3a0ecded5a78c429d43037b..14378953301b716adaf54e4e411070b88d57d10a 100644 (file)
@@ -19,8 +19,8 @@ import os
 import re
 from datetime import datetime
 
-from kdoc_parser import KernelDoc, type_param
-from kdoc_re import KernRe
+from kdoc.kdoc_parser import KernelDoc, type_param
+from kdoc.kdoc_re import KernRe
 
 
 function_pointer = KernRe(r"([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)", cache=False)
index f7dbb0868367363e14209d93478fcc1e924c2031..c0cc714d4d6fa6bd1dbf06e299b1b5720d50478e 100644 (file)
@@ -16,8 +16,8 @@ import sys
 import re
 from pprint import pformat
 
-from kdoc_re import NestedMatch, KernRe
-from kdoc_item import KdocItem
+from kdoc.kdoc_re import NestedMatch, KernRe
+from kdoc.kdoc_item import KdocItem
 
 #
 # Regular expressions used to parse kernel-doc markups at KernelDoc class.