docs: conf.py: fix doc name with SPHINXDIRS

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
This commit is contained in:
Mauro Carvalho Chehab 2025-08-21 10:16:39 +02:00 committed by Jonathan Corbet
parent f62ed7688c
commit 280fa75c2c

View 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")):