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
On 9/29/25 1:53 AM, Mauro Carvalho Chehab wrote: > 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/ Maybe Closes: ? Anyway: Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org> Thanks. > 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 > -- ~Randy
© 2016 - 2025 Red Hat, Inc.