Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

docs: Move the python libraries to tools/lib/python

"scripts/lib" was always a bit of an awkward place for Python modules. We
already have tools/lib; create a tools/lib/python, move the libraries
there, and update the users accordingly.

While at it, move the contents of tools/docs/lib. Rather than make another
directory, just put these documentation-oriented modules under "kdoc".

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

+29 -19
+1 -1
.pylintrc
··· 1 1 [MASTER] 2 - init-hook='import sys; sys.path += ["scripts/lib/kdoc", "scripts/lib/abi", "tools/docs/lib"]' 2 + init-hook='import sys; sys.path += ["tools/lib/python"]'
+1 -1
Documentation/Makefile
··· 115 115 @echo ' make PAPER={a4|letter} Specifies the paper size used for LaTeX/PDF output.' 116 116 @echo 117 117 @echo ' make FONTS_CONF_DENY_VF={path} sets a deny list to block variable Noto CJK fonts' 118 - @echo ' for PDF build. See tools/docs/lib/latex_fonts.py for more details' 118 + @echo ' for PDF build. See tools/lib/python/kdoc/latex_fonts.py for more details' 119 119 @echo 120 120 @echo ' Default location for the generated documents is Documentation/output'
+1 -1
Documentation/sphinx/kernel_abi.py
··· 43 43 from sphinx.util import logging 44 44 45 45 srctree = os.path.abspath(os.environ["srctree"]) 46 - sys.path.insert(0, os.path.join(srctree, "scripts/lib/abi")) 46 + sys.path.insert(0, os.path.join(srctree, "tools/lib/python/abi")) 47 47 48 48 from abi_parser import AbiParser 49 49
+1 -1
Documentation/sphinx/kernel_include.py
··· 97 97 from sphinx.util import logging 98 98 99 99 srctree = os.path.abspath(os.environ["srctree"]) 100 - sys.path.insert(0, os.path.join(srctree, "tools/docs/lib")) 100 + sys.path.insert(0, os.path.join(srctree, "tools/lib/python/kdoc")) 101 101 102 102 from parse_data_structs import ParseDataStructs 103 103
+1 -1
Documentation/sphinx/kerneldoc.py
··· 42 42 from pprint import pformat 43 43 44 44 srctree = os.path.abspath(os.environ["srctree"]) 45 - sys.path.insert(0, os.path.join(srctree, "scripts/lib/kdoc")) 45 + sys.path.insert(0, os.path.join(srctree, "tools/lib/python/kdoc")) 46 46 47 47 from kdoc_files import KernelFiles 48 48 from kdoc_output import RestFormat
+1 -2
MAINTAINERS
··· 7412 7412 T: git git://git.lwn.net/linux.git docs-next 7413 7413 F: Documentation/ 7414 7414 F: scripts/kernel-doc* 7415 - F: scripts/lib/abi/* 7416 - F: scripts/lib/kdoc/* 7415 + F: tools/lib/python/* 7417 7416 F: tools/docs/ 7418 7417 F: tools/net/ynl/pyynl/lib/doc_generator.py 7419 7418 X: Documentation/ABI/
+1 -1
scripts/jobserver-exec
··· 13 13 import os 14 14 import sys 15 15 16 - LIB_DIR = "lib" 16 + LIB_DIR = "../tools/lib/python" 17 17 SRC_DIR = os.path.dirname(os.path.realpath(__file__)) 18 18 19 19 sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
+1 -1
scripts/kernel-doc.py
··· 111 111 112 112 # Import Python modules 113 113 114 - LIB_DIR = "lib/kdoc" 114 + LIB_DIR = "../tools/lib/python/kdoc" 115 115 SRC_DIR = os.path.dirname(os.path.realpath(__file__)) 116 116 117 117 sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
scripts/lib/abi/abi_parser.py tools/lib/python/abi/abi_parser.py
scripts/lib/abi/abi_regex.py tools/lib/python/abi/abi_regex.py
scripts/lib/abi/helpers.py tools/lib/python/abi/helpers.py
scripts/lib/abi/system_symbols.py tools/lib/python/abi/system_symbols.py
scripts/lib/jobserver.py tools/lib/python/jobserver.py
scripts/lib/kdoc/kdoc_files.py tools/lib/python/kdoc/kdoc_files.py
scripts/lib/kdoc/kdoc_item.py tools/lib/python/kdoc/kdoc_item.py
scripts/lib/kdoc/kdoc_output.py tools/lib/python/kdoc/kdoc_output.py
scripts/lib/kdoc/kdoc_parser.py tools/lib/python/kdoc/kdoc_parser.py
scripts/lib/kdoc/kdoc_re.py tools/lib/python/kdoc/kdoc_re.py
+6 -2
tools/docs/check-variable-fonts.py
··· 9 9 """ 10 10 Detect problematic Noto CJK variable fonts. 11 11 12 - or more details, see lib/latex_fonts.py. 12 + or more details, see .../tools/lib/python/kdoc/latex_fonts.py. 13 13 """ 14 14 15 15 import argparse 16 16 import sys 17 + import os.path 17 18 18 - from lib.latex_fonts import LatexFontChecker 19 + src_dir = os.path.dirname(os.path.realpath(__file__)) 20 + sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc')) 21 + 22 + from latex_fonts import LatexFontChecker 19 23 20 24 checker = LatexFontChecker() 21 25
+1 -1
tools/docs/get_abi.py
··· 14 14 15 15 # Import Python modules 16 16 17 - LIB_DIR = "../../scripts/lib/abi" 17 + LIB_DIR = "../lib/python/abi" 18 18 SRC_DIR = os.path.dirname(os.path.realpath(__file__)) 19 19 20 20 sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
tools/docs/lib/__init__.py
tools/docs/lib/enrich_formatter.py tools/lib/python/kdoc/enrich_formatter.py
tools/docs/lib/latex_fonts.py tools/lib/python/kdoc/latex_fonts.py
tools/docs/lib/parse_data_structs.py tools/lib/python/kdoc/parse_data_structs.py
tools/docs/lib/python_version.py tools/lib/python/kdoc/python_version.py
+6 -3
tools/docs/parse-headers.py
··· 24 24 replace define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ :c:type:`v4l2_event_motion_det` 25 25 """ 26 26 27 - import argparse 27 + import argparse, sys 28 + import os.path 28 29 29 - from lib.parse_data_structs import ParseDataStructs 30 - from lib.enrich_formatter import EnrichFormatter 30 + src_dir = os.path.dirname(os.path.realpath(__file__)) 31 + sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc')) 32 + from parse_data_structs import ParseDataStructs 33 + from enrich_formatter import EnrichFormatter 31 34 32 35 def main(): 33 36 """Main function"""
+4 -3
tools/docs/sphinx-build-wrapper
··· 56 56 from concurrent import futures 57 57 from glob import glob 58 58 59 - from lib.python_version import PythonVersion 60 - from lib.latex_fonts import LatexFontChecker 61 59 62 - LIB_DIR = "../../scripts/lib" 60 + LIB_DIR = "../lib/python" 63 61 SRC_DIR = os.path.dirname(os.path.realpath(__file__)) 64 62 65 63 sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR)) 64 + sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR + '/kdoc')) # temporary 66 65 66 + from python_version import PythonVersion 67 + from latex_fonts import LatexFontChecker 67 68 from jobserver import JobserverExec # pylint: disable=C0413,C0411,E0401 68 69 69 70 #
+4 -1
tools/docs/sphinx-pre-install
··· 32 32 import subprocess 33 33 import sys 34 34 from glob import glob 35 + import os.path 35 36 36 - from lib.python_version import PythonVersion 37 + src_dir = os.path.dirname(os.path.realpath(__file__)) 38 + sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc')) 39 + from python_version import PythonVersion 37 40 38 41 RECOMMENDED_VERSION = PythonVersion("3.4.3").version 39 42 MIN_PYTHON_VERSION = PythonVersion("3.7").version