* [PATCH v2 0/3] Some patches against build-script
@ 2025-10-01 14:15 Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 1/3] docs: Makefile: avoid a warning when using without texlive Mauro Carvalho Chehab
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2025-10-01 14:15 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
Hi Jon,
This small patch series contain 3 minor fixes/cleanups for
sphinx-build-wrapper addressing some corner usecases.
Patch 1 was already submitted. It avoids 2 harmless warnings when
texlive is not installed.
Patch 2 fixes the checker for latexmk (PDFLATEX env) when texlive
is not installed.
Patch 3 restores the logic to store *.pyc files under builddir
instead of sourcedir.
Mauro Carvalho Chehab (3):
docs: Makefile: avoid a warning when using without texlive
tools/docs: sphinx-build-wrapper: pdflatex is needed only for pdf
docs: Makefile: use PYTHONPYCACHEPREFIX
Documentation/Makefile | 19 ++++++++-----------
tools/docs/sphinx-build-wrapper | 2 +-
2 files changed, 9 insertions(+), 12 deletions(-)
--
2.51.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/3] docs: Makefile: avoid a warning when using without texlive
2025-10-01 14:15 [PATCH v2 0/3] Some patches against build-script Mauro Carvalho Chehab
@ 2025-10-01 14:15 ` Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 2/3] tools/docs: sphinx-build-wrapper: pdflatex is needed only for pdf Mauro Carvalho Chehab
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2025-10-01 14:15 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel,
Randy Dunlap
As reported by Randy, running make htmldocs on a machine
without textlive now produce warnings:
$ make O=DOCS htmldocs
../Documentation/Makefile:70: warning: overriding recipe for target 'pdfdocs'
../Documentation/Makefile:61: warning: ignoring old recipe for target 'pdfdocs'
That's because the code has now two definitions for pdfdocs in
case $PDFLATEX command is not found. With the new script, such
special case is not needed anymore, as the script checks it.
Drop the special case. Even after dropping it, on a machine
without LaTeX, it will still produce an error as expected,
as running:
$ ./tools/docs/sphinx-build-wrapper pdfdocs
Error: pdflatex or latexmk required for PDF generation
does the check. After applying the patch we have:
$ make SPHINXDIRS=peci htmldocs
Using alabaster theme
Using Python kernel-doc
$ make SPHINXDIRS=peci pdfdocs
Error: pdflatex or latexmk required for PDF generation
make[2]: *** [Documentation/Makefile:64: pdfdocs] Error 1
make[1]: *** [/root/Makefile:1808: pdfdocs] Error 2
make: *** [Makefile:248: __sub-make] Error 2
Which is the expected behavior.
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/linux-doc/e7c29532-71de-496b-a89f-743cef28736e@infradead.org/
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
Documentation/Makefile | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index c60db1038c9c..f764604fa1ac 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -66,20 +66,15 @@ htmldocs mandocs infodocs texinfodocs latexdocs epubdocs xmldocs pdfdocs linkche
--builddir="$(BUILDDIR)" --deny-vf=$(FONTS_CONF_DENY_VF) \
--theme=$(DOCS_THEME) --css=$(DOCS_CSS) --paper=$(PAPER)
-# Special handling for pdfdocs
-ifneq ($(shell which $(PDFLATEX) >/dev/null 2>&1; echo $$?),0)
-pdfdocs:
- $(warning The '$(PDFLATEX)' command was not found. Make sure you have it installed and in PATH to produce PDF output.)
- @echo " SKIP Sphinx $@ target."
-endif
-htmldocs-redirects: $(srctree)/Documentation/.renames.txt
- @tools/docs/gen-redirects.py --output $(BUILDDIR) < $<
-endif # HAVE_SPHINX
+endif
# The following targets are independent of HAVE_SPHINX, and the rules should
# work or silently pass without Sphinx.
+htmldocs-redirects: $(srctree)/Documentation/.renames.txt
+ @tools/docs/gen-redirects.py --output $(BUILDDIR) < $<
+
refcheckdocs:
$(Q)cd $(srctree);scripts/documentation-file-ref-check
--
2.51.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/3] tools/docs: sphinx-build-wrapper: pdflatex is needed only for pdf
2025-10-01 14:15 [PATCH v2 0/3] Some patches against build-script Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 1/3] docs: Makefile: avoid a warning when using without texlive Mauro Carvalho Chehab
@ 2025-10-01 14:15 ` Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 3/3] docs: Makefile: use PYTHONPYCACHEPREFIX Mauro Carvalho Chehab
2025-10-01 15:05 ` [PATCH v2 0/3] Some patches against build-script Jonathan Corbet
3 siblings, 0 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2025-10-01 14:15 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel,
Akira Yokosawa
Fix the logic which checks for pdflatex. Currently, it complains
for both pdfdocs and latexdocs, but for the latter, all it is
needed is Sphinx.
Reported-by: Akira Yokosawa <akiyks@gmail.com>
Closes: https://lore.kernel.org/linux-doc/cover.1758881658.git.mchehab+huawei@kernel.org/T/#ma81ff2e11b8579e5edc23e4381e464081ae668b7
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
tools/docs/sphinx-build-wrapper | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/docs/sphinx-build-wrapper b/tools/docs/sphinx-build-wrapper
index cce985dced00..a74998e8309a 100755
--- a/tools/docs/sphinx-build-wrapper
+++ b/tools/docs/sphinx-build-wrapper
@@ -650,7 +650,7 @@ class SphinxBuilder:
if not sphinxbuild and target != "mandocs":
sys.exit(f"Error: {self.sphinxbuild} not found in PATH.\n")
- if builder == "latex":
+ if target == "pdfdocs":
if not self.pdflatex_cmd and not self.latexmk_cmd:
sys.exit("Error: pdflatex or latexmk required for PDF generation")
--
2.51.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 3/3] docs: Makefile: use PYTHONPYCACHEPREFIX
2025-10-01 14:15 [PATCH v2 0/3] Some patches against build-script Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 1/3] docs: Makefile: avoid a warning when using without texlive Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 2/3] tools/docs: sphinx-build-wrapper: pdflatex is needed only for pdf Mauro Carvalho Chehab
@ 2025-10-01 14:15 ` Mauro Carvalho Chehab
2025-10-01 15:05 ` [PATCH v2 0/3] Some patches against build-script Jonathan Corbet
3 siblings, 0 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2025-10-01 14:15 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
Previous cleanup patches ended dropping it when sphinx-build-wrapper
were added. Also, sphinx-pre-install can also generate caches.
So, re-add it for both.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
Documentation/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index f764604fa1ac..65d184eab739 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -60,8 +60,10 @@ else # HAVE_SPHINX
# Common documentation targets
htmldocs mandocs infodocs texinfodocs latexdocs epubdocs xmldocs pdfdocs linkcheckdocs:
- $(Q)@$(srctree)/tools/docs/sphinx-pre-install --version-check
- +$(Q)$(PYTHON3) $(BUILD_WRAPPER) $@ \
+ $(Q)PYTHONPYCACHEPREFIX="$(PYTHONPYCACHEPREFIX)" \
+ $(srctree)/tools/docs/sphinx-pre-install --version-check
+ +$(Q)PYTHONPYCACHEPREFIX="$(PYTHONPYCACHEPREFIX)" \
+ $(PYTHON3) $(BUILD_WRAPPER) $@ \
--sphinxdirs="$(SPHINXDIRS)" $(RUSTDOC) \
--builddir="$(BUILDDIR)" --deny-vf=$(FONTS_CONF_DENY_VF) \
--theme=$(DOCS_THEME) --css=$(DOCS_CSS) --paper=$(PAPER)
--
2.51.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 0/3] Some patches against build-script
2025-10-01 14:15 [PATCH v2 0/3] Some patches against build-script Mauro Carvalho Chehab
` (2 preceding siblings ...)
2025-10-01 14:15 ` [PATCH v2 3/3] docs: Makefile: use PYTHONPYCACHEPREFIX Mauro Carvalho Chehab
@ 2025-10-01 15:05 ` Jonathan Corbet
3 siblings, 0 replies; 5+ messages in thread
From: Jonathan Corbet @ 2025-10-01 15:05 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes:
> Hi Jon,
>
> This small patch series contain 3 minor fixes/cleanups for
> sphinx-build-wrapper addressing some corner usecases.
>
> Patch 1 was already submitted. It avoids 2 harmless warnings when
> texlive is not installed.
>
> Patch 2 fixes the checker for latexmk (PDFLATEX env) when texlive
> is not installed.
>
> Patch 3 restores the logic to store *.pyc files under builddir
> instead of sourcedir.
>
> Mauro Carvalho Chehab (3):
> docs: Makefile: avoid a warning when using without texlive
> tools/docs: sphinx-build-wrapper: pdflatex is needed only for pdf
> docs: Makefile: use PYTHONPYCACHEPREFIX
>
> Documentation/Makefile | 19 ++++++++-----------
> tools/docs/sphinx-build-wrapper | 2 +-
> 2 files changed, 9 insertions(+), 12 deletions(-)
Applied to the build-script branch, thanks.
jon
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-10-01 15:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-01 14:15 [PATCH v2 0/3] Some patches against build-script Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 1/3] docs: Makefile: avoid a warning when using without texlive Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 2/3] tools/docs: sphinx-build-wrapper: pdflatex is needed only for pdf Mauro Carvalho Chehab
2025-10-01 14:15 ` [PATCH v2 3/3] docs: Makefile: use PYTHONPYCACHEPREFIX Mauro Carvalho Chehab
2025-10-01 15:05 ` [PATCH v2 0/3] Some patches against build-script Jonathan Corbet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox