]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
docs: conf.py: fix doc name with SPHINXDIRS
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 21 Aug 2025 08:16:39 +0000 (10:16 +0200)
committerJonathan Corbet <corbet@lwn.net>
Thu, 21 Aug 2025 20:08:53 +0000 (14:08 -0600)
When SPHINXDIRS is used, the current logic produces a wrong
list of files, as it will not pick the SPHINXDIRS directory,
picking instead their children.

Add a rule to detect it and create the PDF doc with the right
name.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/183f630643eacf414cfa8d892f03dd1b1055c21e.1755763127.git.mchehab+huawei@kernel.org
Documentation/conf.py

index 217c3c778e1e8ede90e5b86b0d0f30e667e00f04..69290cadc2db5955c118a07aefa0c0bb3e136af6 100644 (file)
@@ -91,6 +91,19 @@ def config_init(app, config):
     # LaTeX and PDF output require a list of documents with are dependent
     # of the app.srcdir. Add them here
 
+    # When SPHINXDIRS is used, we just need to get index.rst, if it exists
+    if not os.path.samefile(doctree, app.srcdir):
+        doc = "index"
+        doc_name = os.path.basename(app.srcdir)
+        if os.path.exists(os.path.join(app.srcdir, doc + ".rst")):
+            latex_documents.append((doc, doc_name + ".tex",
+                                    "Linux %s Documentation" % doc_name.capitalize(),
+                                    "The kernel development community",
+                                    "manual"))
+            return
+
+    # When building all docs, or when a main index.rst doesn't exist, seek
+    # for it on subdirectories
     for fn in os.listdir(app.srcdir):
         doc = os.path.join(fn, "index")
         if not os.path.exists(os.path.join(app.srcdir, doc + ".rst")):