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

From: Akira Yokosawa

Date: Sat Sep 27 2025 - 03:35:11 EST


On Fri, 26 Sep 2025 12:16:19 +0200, 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.
>

There seems to be a related issue.

At current "docs-mw", under build environments who don't have xelatex nor latexmk,

$ make SPHINXDIRS=peci latexdocs

completes without any issue.

In the resulting .../latex/peci directory, one can run

$ make PDFLATEX="latexmk -xelatex" LATEXOPTS="-interaction=batchmode -no-shell-escape"

and build peci.pdf.

At current "build-scripts", I get this:

$ make SPHINXDIRS=peci latexdocs
Error: pdflatex or latexmk required for PDF generation
make[2]: *** [Documentation/Makefile:68: latexdocs] Error 1
make[1]: *** [<srcdir>/Makefile:1806: latexdocs] Error 2
make: *** [Makefile:248: __sub-make] Error 2

Patch 2/2 doesn't change the behavior.

This is yet another regression. Please teach sphinx-build-wrapper of the
fact that "latexdocs" does not run those texlive commands. It is only the
"pdfdocs" phase that will run them.

Regards,
Akira

> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Link: https://lore.kernel.org/linux-doc/e7c29532-71de-496b-a89f-743cef28736e@xxxxxxxxxxxxx/
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>