Re: [PATCH 1/3] docs: Makefile: avoid a warning when using without texlive

Randy Dunlap
2025-09-29T15:49:13Z

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