* [PATCH 00/11] Fix PDF doc builds on major distros
@ 2025-08-15 11:36 Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 01/11] docs: Makefile: Fix LaTeX paper size settings Mauro Carvalho Chehab
` (12 more replies)
0 siblings, 13 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel,
Björn Roy Baron, Alex Gaynor, Alice Ryhl, Andreas Hindborg,
Benno Lossin, Boqun Feng, Danilo Krummrich, Gary Guo,
Miguel Ojeda, Trevor Gross, bpf, rust-for-linux
Hi Jon,
This series touch only on three files, and have a small diffstat:
Documentation/Makefile | 4 -
Documentation/conf.py | 106 +++++++++++++++++++++----------------
scripts/sphinx-pre-install | 41 +++++++++++---
3 files changed, 96 insertions(+), 55 deletions(-)
Yet, it took a lot of my time. Basically, it addresses lots of problems related
with building PDF docs:
- Makefile has a wrong set of definitions for paper size. It was
using pre-1.7 Sphinx nomenclature for some conf vars;
- The LaTeX options a conf.py had lots of issues;
- Finally, some PDF package dependencies for distros were wrong.
I wrote an entire testbench to test this and doing builds on every
platform mentioned at sphinx-pre-install.
After the change *most* PDF files are built on *most* platforms.
Summary
=======
PASSED - AlmaLinux release 9.6 (Sage Margay) (7 tests)
PASSED - Amazon Linux release 2023 (Amazon Linux) (7 tests)
FAILED - archlinux (1 tests)
PASSED - CentOS Stream release 9 (7 tests)
PARTIAL - Debian GNU/Linux 12 (7 tests)
PARTIAL - Devuan GNU/Linux 5 (7 tests)
PASSED - Fedora release 42 (Adams) (7 tests)
PARTIAL - Gentoo Base System release 2.17 (7 tests)
PASSED - Kali GNU/Linux 2025.2 (7 tests)
PASSED - Mageia 9 (7 tests)
PARTIAL - Linux Mint 22 (7 tests)
PARTIAL - openEuler release 25.03 (7 tests)
PARTIAL - OpenMandriva Lx 4.3 (7 tests)
PASSED - openSUSE Leap 15.6 (7 tests)
PASSED - openSUSE Tumbleweed (7 tests)
PARTIAL - Oracle Linux Server release 9.6 (7 tests)
FAILED - Red Hat Enterprise Linux release 8.10 (Ootpa) (7 tests)
PARTIAL - Rocky Linux release 8.9 (Green Obsidian) (7 tests)
PARTIAL - Rocky Linux release 9.6 (Blue Onyx) (7 tests)
FAILED - Springdale Open Enterprise Linux release 9.2 (Parma) (7 tests)
PARTIAL - Ubuntu 24.04.2 LTS (7 tests)
PASSED - Ubuntu 25.04 (7 tests)
The failed distros are:
- archlinux. This is some problem on recent lxc containers. Unrelated
with pdf builds;
- RHEL 8: paywall issue: some packages required by Sphinx require a repository
that it is not openly available. I might have using CentOS repos, but, as we're
already testing it, I opted not do do it;
- Springdale 9.2: some broken package dependency.
Now, if you look at the full logs below, you'll see that some distros come with
XeLaTeX or LaTeX troubles, causing bigger and/or more complex docs to
fail. It is possible to fix those, but they depend on addressing distro-specific
LaTeX issues like increasing maximum memory limits and maximum number
of idented paragraphs.
It follows full results per distro.
Please notice that I'm testing this after applying the next series which adds
a sphinx-build-wrapper. The rationale is that, on such series, the logic can
check what PDF files are missed. Currently, on upstream, PDF always return
an error, even when everything suceeds.
Regards,
Mauro
AlmaLinux release 9.6 (Sage Margay):
------------------------------------
PASSED: OS detection: AlmaLinux release 9.6 (Sage Margay)
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:56, return code: 0
PASSED: Build PDF documentation: Build time: 11:44, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Amazon Linux release 2023 (Amazon Linux):
-----------------------------------------
PASSED: OS detection: Amazon Linux release 2023 (Amazon Linux)
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:59, return code: 0
PASSED: Build PDF documentation: Build time: 11:12, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
archlinux:
----------
FAILED: Build failed at package installation (
Failed to setup distrolib.distro_manager.CustomError: Failed to setup distro
File "~/bin/doc-build-container.py", line 264, in <module>
asyncio.run(main())
/usr/lib64/python3.13/asyncio/runners.py, line 195, in run
return runner.run(main)
/usr/lib64/python3.13/asyncio/runners.py, line 118, in run
return self._loop.run_until_complete(task)
/usr/lib64/python3.13/asyncio/base_events.py, line 712, in run_until_complete
self.run_forever()
/usr/lib64/python3.13/asyncio/base_events.py, line 683, in run_forever
self._run_once()
/usr/lib64/python3.13/asyncio/base_events.py, line 2050, in _run_once
handle._run()
/usr/lib64/python3.13/asyncio/events.py, line 89, in _run
self._context.run(self._callback, *self._args)
File "distro_manager.py", line 617, in run_manager
return await manager.serial_run()
File "distro_manager.py", line 598, in serial_run
await self.run_distro(distro)
File "distro_manager.py", line 523, in run_distro
self.record_status(
)
CentOS Stream release 9:
------------------------
PASSED: OS detection: CentOS Stream release 9
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:55, return code: 0
PASSED: Build PDF documentation: Build time: 11:40, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Debian GNU/Linux 12:
--------------------
PASSED: OS detection: Debian GNU/Linux 12
SKIPPED (Sphinx Sphinx 5.3.0): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:46, return code: 0
FAILED: Build PDF documentation: Test failed (Build time: 10:31, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
FAILED: doc-guide: Build failed (FAILED)
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Devuan GNU/Linux 5:
-------------------
PASSED: OS detection: Devuan GNU/Linux 5
SKIPPED (Sphinx Sphinx 5.3.0): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:46, return code: 0
FAILED: Build PDF documentation: Test failed (Build time: 10:30, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
FAILED: doc-guide: Build failed (FAILED)
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Fedora release 42 (Adams):
--------------------------
PASSED: OS detection: Fedora release 42 (Adams)
SKIPPED (Sphinx Sphinx 8.1.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 4:47, return code: 0
PASSED: Build PDF documentation: Build time: 10:33, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Gentoo Base System release 2.17:
--------------------------------
PASSED: OS detection: Gentoo Base System release 2.17
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.2.3
PASSED: Sphinx package: Sphinx Sphinx 8.2.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 3:43, return code: 0
FAILED: Build PDF documentation: Test failed (Build time: 10:03, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Kali GNU/Linux 2025.2:
----------------------
PASSED: OS detection: Kali GNU/Linux 2025.2
SKIPPED (Sphinx Sphinx 8.1.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 4:21, return code: 0
PASSED: Build PDF documentation: Build time: 12:23, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Mageia 9:
---------
PASSED: OS detection: Mageia 9
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.1.3
PASSED: Sphinx package: Sphinx Sphinx 6.1.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:34, return code: 0
PASSED: Build PDF documentation: Build time: 13:42, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Linux Mint 22:
--------------
PASSED: OS detection: Linux Mint 22
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.1.3
PASSED: Sphinx package: Sphinx Sphinx 4.3.2
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:08, return code: 0
FAILED: Build PDF documentation: Test failed (Build time: 10:41, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
FAILED: doc-guide: Build failed (FAILED)
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
openEuler release 25.03:
------------------------
PASSED: OS detection: openEuler release 25.03
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.2.3
PASSED: Sphinx package: Sphinx Sphinx 8.1.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:04, return code: 0
FAILED: Build PDF documentation: Test failed (Build time: 0:04, return code: 2)
PDF docs:
---------
PASSED: latex: FAILED (no .tex)
OpenMandriva Lx 4.3:
--------------------
PASSED: OS detection: OpenMandriva Lx 4.3
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 4.3.2
PASSED: Sphinx package: Sphinx Sphinx 4.3.2
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:00, return code: 0
FAILED: Build PDF documentation: PDF build didn't produce any results (Build time: 0:00, return code: 0)
openSUSE Leap 15.6:
-------------------
PASSED: OS detection: openSUSE Leap 15.6
SKIPPED (Sphinx Sphinx 7.2.6): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:29, return code: 0
PASSED: Build PDF documentation: Build time: 13:35, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
openSUSE Tumbleweed:
--------------------
PASSED: OS detection: openSUSE Tumbleweed
SKIPPED (Sphinx Sphinx 8.2.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 4:26, return code: 0
PASSED: Build PDF documentation: Build time: 13:09, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Oracle Linux Server release 9.6:
--------------------------------
PASSED: OS detection: Oracle Linux Server release 9.6
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:06, return code: 0
FAILED: Build PDF documentation: Test failed (Build time: 0:07, return code: 2)
PDF docs:
---------
PASSED: latex: FAILED (no .tex)
Red Hat Enterprise Linux release 8.10 (Ootpa):
----------------------------------------------
PASSED: OS detection: Red Hat Enterprise Linux release 8.10 (Ootpa)
FAILED: System packages: Error: Unable to find a match: google-noto-sans-cjk-ttc-fonts librsvg2-tools texlive-amscls texlive-amsfonts texlive-amsmath texlive-anyfontsize texlive-capt-of texlive-cmap texlive-collection-fontsrecommended texlive-collection-latex texlive-ec texlive-eqparbox texlive-euenc texlive-fancybox texlive-fancyvrb texlive-float texlive-fncychap texlive-framed texlive-luatex85 texlive-mdwtools texlive-multirow texlive-needspace texlive-oberdiek texlive-parskip texlive-polyglossia texlive-psnfss texlive-tabulary texlive-threeparttable texlive-titlesec texlive-tools texlive-ucs texlive-upquote texlive-wrapfig texlive-xecjk texlive-xetex-bin
FAILED: Sphinx on venv: No Sphinx version detected
FAILED: Sphinx package: No Sphinx version detected
PASSED: Clean documentation: Build time: 0:00, return code: 0
FAILED: Build HTML documentation: Test failed (Build time: 0:00, return code: 2)
FAILED: Build PDF documentation: PDF build didn't produce any results (Build time: 0:00, return code: 2)
Rocky Linux release 8.9 (Green Obsidian):
-----------------------------------------
PASSED: OS detection: Rocky Linux release 8.9 (Green Obsidian)
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 7.4.7
FAILED: Sphinx package: No Sphinx version detected
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:33, return code: 0
PASSED: Build PDF documentation: Build time: 11:17, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Rocky Linux release 9.6 (Blue Onyx):
------------------------------------
PASSED: OS detection: Rocky Linux release 9.6 (Blue Onyx)
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:07, return code: 0
FAILED: Build PDF documentation: Test failed (Build time: 0:07, return code: 2)
PDF docs:
---------
PASSED: latex: FAILED (no .tex)
Springdale Open Enterprise Linux release 9.2 (Parma):
-----------------------------------------------------
PASSED: OS detection: Springdale Open Enterprise Linux release 9.2 (Parma)
FAILED: System packages: Error: Problem: package ImageMagick-6.9.13.25-1.el9.x86_64 requires libMagickCore-6.Q16.so.7()(64bit), but none of the providers can be installed - package ImageMagick-6.9.13.25-1.el9.x86_64 requires libMagickWand-6.Q16.so.7()(64bit), but none of the providers can be installed - package ImageMagick-6.9.13.25-1.el9.x86_64 requires ImageMagick-libs(x86-64) = 6.9.13.25-1.el9, but none of the providers can be installed - conflicting requests - nothing provides libraw_r.so.23()(64bit) needed by ImageMagick-libs-6.9.13.25-1.el9.x86_64
PASSED: Sphinx on venv: Sphinx Sphinx 7.4.7
PASSED: Sphinx package: Sphinx Sphinx 3.4.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:25, return code: 0
FAILED: Build PDF documentation: PDF build didn't produce any results (Build time: 0:00, return code: 0)
Ubuntu 24.04.2 LTS:
-------------------
PASSED: OS detection: Ubuntu 24.04.2 LTS
SKIPPED (Sphinx Sphinx 7.2.6): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:05, return code: 0
FAILED: Build PDF documentation: Test failed (Build time: 0:05, return code: 2)
PDF docs:
---------
PASSED: latex: FAILED (no .tex)
Ubuntu 25.04:
-------------
PASSED: OS detection: Ubuntu 25.04
SKIPPED (Sphinx Sphinx 8.1.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 3:42, return code: 0
PASSED: Build PDF documentation: Build time: 11:44, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Summary
=======
PASSED - AlmaLinux release 9.6 (Sage Margay) (7 tests)
PASSED - Amazon Linux release 2023 (Amazon Linux) (7 tests)
FAILED - archlinux (1 tests)
PASSED - CentOS Stream release 9 (7 tests)
FAILED - Debian GNU/Linux 12 (7 tests)
FAILED - Devuan GNU/Linux 5 (7 tests)
PASSED - Fedora release 42 (Adams) (7 tests)
FAILED - Gentoo Base System release 2.17 (7 tests)
PASSED - Kali GNU/Linux 2025.2 (7 tests)
PASSED - Mageia 9 (7 tests)
FAILED - Linux Mint 22 (7 tests)
FAILED - openEuler release 25.03 (7 tests)
FAILED - OpenMandriva Lx 4.3 (7 tests)
PASSED - openSUSE Leap 15.6 (7 tests)
PASSED - openSUSE Tumbleweed (7 tests)
FAILED - Oracle Linux Server release 9.6 (7 tests)
FAILED - Red Hat Enterprise Linux release 8.10 (Ootpa) (7 tests)
FAILED - Rocky Linux release 8.9 (Green Obsidian) (7 tests)
FAILED - Rocky Linux release 9.6 (Blue Onyx) (7 tests)
FAILED - Springdale Open Enterprise Linux release 9.2 (Parma) (7 tests)
FAILED - Ubuntu 24.04.2 LTS (7 tests)
PASSED - Ubuntu 25.04 (7 tests)
(base) mchehab@foz /new_devel/docs $ ktap_reader.py /tmp/build_logs/*
AlmaLinux release 9.6 (Sage Margay):
------------------------------------
PASSED: OS detection: AlmaLinux release 9.6 (Sage Margay)
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:56, return code: 0
PASSED: Build PDF documentation: Build time: 11:44, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Amazon Linux release 2023 (Amazon Linux):
-----------------------------------------
PASSED: OS detection: Amazon Linux release 2023 (Amazon Linux)
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:59, return code: 0
PASSED: Build PDF documentation: Build time: 11:12, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
archlinux:
----------
FAILED: Build failed at package installation (
Failed to setup distrolib.distro_manager.CustomError: Failed to setup distro
File "~/bin/doc-build-container.py", line 264, in <module>
asyncio.run(main())
/usr/lib64/python3.13/asyncio/runners.py, line 195, in run
return runner.run(main)
/usr/lib64/python3.13/asyncio/runners.py, line 118, in run
return self._loop.run_until_complete(task)
/usr/lib64/python3.13/asyncio/base_events.py, line 712, in run_until_complete
self.run_forever()
/usr/lib64/python3.13/asyncio/base_events.py, line 683, in run_forever
self._run_once()
/usr/lib64/python3.13/asyncio/base_events.py, line 2050, in _run_once
handle._run()
/usr/lib64/python3.13/asyncio/events.py, line 89, in _run
self._context.run(self._callback, *self._args)
File "distro_manager.py", line 617, in run_manager
return await manager.serial_run()
File "distro_manager.py", line 598, in serial_run
await self.run_distro(distro)
File "distro_manager.py", line 523, in run_distro
self.record_status(
)
CentOS Stream release 9:
------------------------
PASSED: OS detection: CentOS Stream release 9
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:55, return code: 0
PASSED: Build PDF documentation: Build time: 11:40, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Debian GNU/Linux 12:
--------------------
PASSED: OS detection: Debian GNU/Linux 12
SKIPPED (Sphinx Sphinx 5.3.0): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:46, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 10:31, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
FAILED: doc-guide: Build failed (FAILED)
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Devuan GNU/Linux 5:
-------------------
PASSED: OS detection: Devuan GNU/Linux 5
SKIPPED (Sphinx Sphinx 5.3.0): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:46, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 10:30, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
FAILED: doc-guide: Build failed (FAILED)
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Fedora release 42 (Adams):
--------------------------
PASSED: OS detection: Fedora release 42 (Adams)
SKIPPED (Sphinx Sphinx 8.1.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 4:47, return code: 0
PASSED: Build PDF documentation: Build time: 10:33, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Gentoo Base System release 2.17:
--------------------------------
PASSED: OS detection: Gentoo Base System release 2.17
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.2.3
PASSED: Sphinx package: Sphinx Sphinx 8.2.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 3:43, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 10:03, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Kali GNU/Linux 2025.2:
----------------------
PASSED: OS detection: Kali GNU/Linux 2025.2
SKIPPED (Sphinx Sphinx 8.1.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 4:21, return code: 0
PASSED: Build PDF documentation: Build time: 12:23, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Mageia 9:
---------
PASSED: OS detection: Mageia 9
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.1.3
PASSED: Sphinx package: Sphinx Sphinx 6.1.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:34, return code: 0
PASSED: Build PDF documentation: Build time: 13:42, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Linux Mint 22:
--------------
PASSED: OS detection: Linux Mint 22
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.1.3
PASSED: Sphinx package: Sphinx Sphinx 4.3.2
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:08, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 10:41, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
FAILED: doc-guide: Build failed (FAILED)
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
openEuler release 25.03:
------------------------
PASSED: OS detection: openEuler release 25.03
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.2.3
PASSED: Sphinx package: Sphinx Sphinx 8.1.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:04, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 0:04, return code: 2)
PDF docs:
---------
PASSED: latex: FAILED (no .tex)
OpenMandriva Lx 4.3:
--------------------
PASSED: OS detection: OpenMandriva Lx 4.3
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 4.3.2
PASSED: Sphinx package: Sphinx Sphinx 4.3.2
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:00, return code: 0
PARTIAL: Build PDF documentation: PDF build didn't produce any results (Build time: 0:00, return code: 0)
openSUSE Leap 15.6:
-------------------
PASSED: OS detection: openSUSE Leap 15.6
SKIPPED (Sphinx Sphinx 7.2.6): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:29, return code: 0
PASSED: Build PDF documentation: Build time: 13:35, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
openSUSE Tumbleweed:
--------------------
PASSED: OS detection: openSUSE Tumbleweed
SKIPPED (Sphinx Sphinx 8.2.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 4:26, return code: 0
PASSED: Build PDF documentation: Build time: 13:09, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Oracle Linux Server release 9.6:
--------------------------------
PASSED: OS detection: Oracle Linux Server release 9.6
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:06, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 0:07, return code: 2)
PDF docs:
---------
PASSED: latex: FAILED (no .tex)
Red Hat Enterprise Linux release 8.10 (Ootpa):
----------------------------------------------
PASSED: OS detection: Red Hat Enterprise Linux release 8.10 (Ootpa)
FAILED: System packages: Error: Unable to find a match: google-noto-sans-cjk-ttc-fonts librsvg2-tools texlive-amscls texlive-amsfonts texlive-amsmath texlive-anyfontsize texlive-capt-of texlive-cmap texlive-collection-fontsrecommended texlive-collection-latex texlive-ec texlive-eqparbox texlive-euenc texlive-fancybox texlive-fancyvrb texlive-float texlive-fncychap texlive-framed texlive-luatex85 texlive-mdwtools texlive-multirow texlive-needspace texlive-oberdiek texlive-parskip texlive-polyglossia texlive-psnfss texlive-tabulary texlive-threeparttable texlive-titlesec texlive-tools texlive-ucs texlive-upquote texlive-wrapfig texlive-xecjk texlive-xetex-bin
PARTIAL: Sphinx on venv: No Sphinx version detected
PARTIAL: Sphinx package: No Sphinx version detected
PASSED: Clean documentation: Build time: 0:00, return code: 0
PARTIAL: Build HTML documentation: Test failed (Build time: 0:00, return code: 2)
PARTIAL: Build PDF documentation: PDF build didn't produce any results (Build time: 0:00, return code: 2)
Rocky Linux release 8.9 (Green Obsidian):
-----------------------------------------
PASSED: OS detection: Rocky Linux release 8.9 (Green Obsidian)
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 7.4.7
PARTIAL: Sphinx package: No Sphinx version detected
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:33, return code: 0
PASSED: Build PDF documentation: Build time: 11:17, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Rocky Linux release 9.6 (Blue Onyx):
------------------------------------
PASSED: OS detection: Rocky Linux release 9.6 (Blue Onyx)
SKIPPED (Sphinx Sphinx 3.4.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:07, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 0:07, return code: 2)
PDF docs:
---------
PASSED: latex: FAILED (no .tex)
Springdale Open Enterprise Linux release 9.2 (Parma):
-----------------------------------------------------
PASSED: OS detection: Springdale Open Enterprise Linux release 9.2 (Parma)
FAILED: System packages: Error: Problem: package ImageMagick-6.9.13.25-1.el9.x86_64 requires libMagickCore-6.Q16.so.7()(64bit), but none of the providers can be installed - package ImageMagick-6.9.13.25-1.el9.x86_64 requires libMagickWand-6.Q16.so.7()(64bit), but none of the providers can be installed - package ImageMagick-6.9.13.25-1.el9.x86_64 requires ImageMagick-libs(x86-64) = 6.9.13.25-1.el9, but none of the providers can be installed - conflicting requests - nothing provides libraw_r.so.23()(64bit) needed by ImageMagick-libs-6.9.13.25-1.el9.x86_64
PASSED: Sphinx on venv: Sphinx Sphinx 7.4.7
PASSED: Sphinx package: Sphinx Sphinx 3.4.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:25, return code: 0
PARTIAL: Build PDF documentation: PDF build didn't produce any results (Build time: 0:00, return code: 0)
Ubuntu 24.04.2 LTS:
-------------------
PASSED: OS detection: Ubuntu 24.04.2 LTS
SKIPPED (Sphinx Sphinx 7.2.6): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 0:05, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 0:05, return code: 2)
PDF docs:
---------
PASSED: latex: FAILED (no .tex)
Ubuntu 25.04:
-------------
PASSED: OS detection: Ubuntu 25.04
SKIPPED (Sphinx Sphinx 8.1.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 3:42, return code: 0
PASSED: Build PDF documentation: Build time: 11:44, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Mauro Carvalho Chehab (11):
docs: Makefile: Fix LaTeX paper size settings
docs: conf.py: better handle latex documents
docs: conf.py: fix doc name with SPHINXDIRS
docs: conf.py: rename some vars at latex_documents logic
docs: conf.py: fix some troubles for LaTeX output
scripts: sphinx-pre-install: fix PDF build issues on Ubuntu
scripts: sphinx-pre-install: add missing gentoo pdf dependencies
scripts: sphinx-pre-install: fix PDF dependencies for openSuse
scripts: sphinx-pre-install: fix dependencies for OpenMandriva
scripts: sphinx-pre-install: fix pdf dependencies for Mageia 9
scripts: sphinx-pre-install: fix PDF dependencies for gentoo
Documentation/Makefile | 4 +-
Documentation/conf.py | 106 ++++++++++++++++++++++---------------
scripts/sphinx-pre-install | 41 ++++++++++----
3 files changed, 96 insertions(+), 55 deletions(-)
--
2.50.1
^ permalink raw reply [flat|nested] 42+ messages in thread
* [PATCH 01/11] docs: Makefile: Fix LaTeX paper size settings
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 02/11] docs: conf.py: better handle latex documents Mauro Carvalho Chehab
` (11 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
According with:
https://www.sphinx-doc.org/en/master/latex.html
The variable that handles paper size changed during version 1.5,
as pointed at:
https://www.sphinx-doc.org/en/master/changes/1.5.html
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
Documentation/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 820f07e0afe6..2ed334971acd 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -60,8 +60,8 @@ ifeq ($(HAVE_LATEXMK),1)
endif #HAVE_LATEXMK
# Internal variables.
-PAPEROPT_a4 = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
+PAPEROPT_a4 = -D latex_elements.papersize=a4paper
+PAPEROPT_letter = -D latex_elements.papersize=letterpaper
ALLSPHINXOPTS = -D kerneldoc_srctree=$(srctree) -D kerneldoc_bin=$(KERNELDOC)
ALLSPHINXOPTS += $(PAPEROPT_$(PAPER)) $(SPHINXOPTS)
ifneq ($(wildcard $(srctree)/.config),)
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 02/11] docs: conf.py: better handle latex documents
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 01/11] docs: Makefile: Fix LaTeX paper size settings Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 03/11] docs: conf.py: fix doc name with SPHINXDIRS Mauro Carvalho Chehab
` (10 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
The original logic assumed that app.srcdir is identical to the
current working dir. This is the case for a normal build, but,
when SPHINXDIRS="some dir" is used, this is not the case anymore.
Adjust the logic to fill the LaTeX documents considering
app.srcdir, in a way that it will work properly on all cases.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
Documentation/conf.py | 54 +++++++++++++++++++++----------------------
1 file changed, 26 insertions(+), 28 deletions(-)
diff --git a/Documentation/conf.py b/Documentation/conf.py
index f9828f3862f9..2c1be59fd54b 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -51,11 +51,13 @@ else:
dyn_exclude_patterns.append("devicetree/bindings/**.yaml")
dyn_exclude_patterns.append("core-api/kho/bindings/**.yaml")
-# Properly handle include/exclude patterns
-# ----------------------------------------
+# Properly handle directory patterns and LaTeX docs
+# -------------------------------------------------
-def update_patterns(app, config):
+def config_init(app, config):
"""
+ Initialize path-dependent variabled
+
On Sphinx, all directories are relative to what it is passed as
SOURCEDIR parameter for sphinx-build. Due to that, all patterns
that have directory names on it need to be dynamically set, after
@@ -86,6 +88,25 @@ def update_patterns(app, config):
config.exclude_patterns.append(rel_path)
+ # LaTeX and PDF output require a list of documents with are dependent
+ # of the app.srcdir. Add them here
+
+ 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")):
+ continue
+
+ has = False
+ for l in latex_documents:
+ if l[0] == doc:
+ has = True
+ break
+
+ if not has:
+ latex_documents.append((doc, fn + ".tex",
+ "Linux %s Documentation" % fn.capitalize(),
+ "The kernel development community",
+ "manual"))
# helper
# ------
@@ -456,32 +477,9 @@ latex_elements["preamble"] += """
\\input{kerneldoc-preamble.sty}
"""
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-# author, documentclass [howto, manual, or own class]).
-# Sorted in alphabetical order
+# This will be filled up by config-inited event
latex_documents = []
-# Add all other index files from Documentation/ subdirectories
-for fn in os.listdir("."):
- doc = os.path.join(fn, "index")
- if os.path.exists(doc + ".rst"):
- has = False
- for l in latex_documents:
- if l[0] == doc:
- has = True
- break
- if not has:
- latex_documents.append(
- (
- doc,
- fn + ".tex",
- "Linux %s Documentation" % fn.capitalize(),
- "The kernel development community",
- "manual",
- )
- )
-
# The name of an image file (relative to this directory) to place at the top of
# the title page.
# latex_logo = None
@@ -577,4 +575,4 @@ loadConfig(globals())
def setup(app):
"""Patterns need to be updated at init time on older Sphinx versions"""
- app.connect('config-inited', update_patterns)
+ app.connect('config-inited', config_init)
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 03/11] docs: conf.py: fix doc name with SPHINXDIRS
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 01/11] docs: Makefile: Fix LaTeX paper size settings Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 02/11] docs: conf.py: better handle latex documents Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 04/11] docs: conf.py: rename some vars at latex_documents logic Mauro Carvalho Chehab
` (9 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
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>
---
Documentation/conf.py | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Documentation/conf.py b/Documentation/conf.py
index 2c1be59fd54b..c8401ed75402 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -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")):
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 04/11] docs: conf.py: rename some vars at latex_documents logic
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (2 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 03/11] docs: conf.py: fix doc name with SPHINXDIRS Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 05/11] docs: conf.py: fix some troubles for LaTeX output Mauro Carvalho Chehab
` (8 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
Currently, the logic uses fn and doc vars, but they don't
properly describe what such vars do.
Make them clearer:
- fname: points to the file name to search (index.rst);
- doc: contains the name of the LaTeX or PDF doc to
be produced.
With that, the checks for SPHINXDIRS and for subdirs will
be more coherent.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
Documentation/conf.py | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/Documentation/conf.py b/Documentation/conf.py
index c8401ed75402..6e12c7d8e07e 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -93,31 +93,31 @@ def config_init(app, config):
# 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(),
+ doc = os.path.basename(app.srcdir)
+ fname = "index"
+ if os.path.exists(os.path.join(app.srcdir, fname + ".rst")):
+ latex_documents.append((fname, doc + ".tex",
+ "Linux %s Documentation" % doc.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")):
+ for doc in os.listdir(app.srcdir):
+ fname = os.path.join(doc, "index")
+ if not os.path.exists(os.path.join(app.srcdir, fname + ".rst")):
continue
has = False
for l in latex_documents:
- if l[0] == doc:
+ if l[0] == fname:
has = True
break
if not has:
- latex_documents.append((doc, fn + ".tex",
- "Linux %s Documentation" % fn.capitalize(),
+ latex_documents.append((fname, doc + ".tex",
+ "Linux %s Documentation" % doc.capitalize(),
"The kernel development community",
"manual"))
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 05/11] docs: conf.py: fix some troubles for LaTeX output
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (3 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 04/11] docs: conf.py: rename some vars at latex_documents logic Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-20 8:16 ` Akira Yokosawa
2025-08-15 11:36 ` [PATCH 06/11] scripts: sphinx-pre-install: fix PDF build issues on Ubuntu Mauro Carvalho Chehab
` (7 subsequent siblings)
12 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
While PDF docs work fine on RPM-based distros, it causes conflicts
on Debian & friends:
Documentation/output/process/latex/process.log:
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
LaTeX Font Info: Trying to load font information for T1+lmr on input line 11
6.
LaTeX Font Info: No file T1lmr.fd. on input line 116.
LaTeX Font Warning: Font shape `T1/lmr/m/n' undefined
(Font) using `T1/lmr/m/n' instead on input line 116.
! Corrupted NFSS tables.
wrong@fontshape ...message {Corrupted NFSS tables}
error@fontshape else let f...
l.116 ...\familydefault\seriesdefault\shapedefault
Change some logic inside latex_elements to avoid such issues,
following the example from Sphinx documentation:
https://www.sphinx-doc.org/en/master/latex.html
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
Documentation/conf.py | 39 +++++++++++++++++++++++----------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/Documentation/conf.py b/Documentation/conf.py
index 6e12c7d8e07e..712e0a016727 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -9,6 +9,8 @@ import os
import shutil
import sys
+from textwrap import dedent
+
import sphinx
# If extensions (or modules to document with autodoc) are in another directory,
@@ -454,19 +456,38 @@ htmlhelp_basename = "TheLinuxKerneldoc"
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
"papersize": "a4paper",
+ "passoptionstopackages": dedent(r"""
+ \PassOptionsToPackage{svgnames}{xcolor}
+ % Avoid encoding troubles when creating indexes
+ \PassOptionsToPackage{xindy}{language=english,codepage=utf8,noautomatic}
+ """),
# The font size ('10pt', '11pt' or '12pt').
"pointsize": "11pt",
+ # Needed to generate a .ind file
+ 'printindex': r'\footnotesize\raggedright\printindex',
# Latex figure (float) alignment
# 'figure_align': 'htbp',
# Don't mangle with UTF-8 chars
+ "fontenc": "",
"inputenc": "",
"utf8extra": "",
+ 'fontpkg': dedent(r'''
+ \usepackage{fontspec}
+ \setmainfont{DejaVu Serif}
+ \setsansfont{DejaVu Sans}
+ \setmonofont{DejaVu Sans Mono}
+ \newfontfamily\headingfont{DejaVu Serif}
+ '''),
# Set document margins
- "sphinxsetup": """
+ "sphinxsetup": dedent(r"""
hmargin=0.5in, vmargin=1in,
parsedliteralwraps=true,
verbatimhintsturnover=false,
- """,
+ """),
+ "preamble": dedent(r"""
+ % Load kerneldoc specific LaTeX settings
+ \input{kerneldoc-preamble.sty}
+ """),
#
# Some of our authors are fond of deep nesting; tell latex to
# cope.
@@ -474,22 +495,8 @@ latex_elements = {
"maxlistdepth": "10",
# For CJK One-half spacing, need to be in front of hyperref
"extrapackages": r"\usepackage{setspace}",
- # Additional stuff for the LaTeX preamble.
- "preamble": """
- % Use some font with UTF-8 support with XeLaTeX
- \\usepackage{fontspec}
- \\setsansfont{DejaVu Sans}
- \\setromanfont{DejaVu Serif}
- \\setmonofont{DejaVu Sans Mono}
- """,
}
-# Load kerneldoc specific LaTeX settings
-latex_elements["preamble"] += """
- % Load kerneldoc specific LaTeX settings
- \\input{kerneldoc-preamble.sty}
-"""
-
# This will be filled up by config-inited event
latex_documents = []
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 06/11] scripts: sphinx-pre-install: fix PDF build issues on Ubuntu
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (4 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 05/11] docs: conf.py: fix some troubles for LaTeX output Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 07/11] scripts: sphinx-pre-install: add missing gentoo pdf dependencies Mauro Carvalho Chehab
` (6 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Björn Roy Baron,
Mauro Carvalho Chehab, Alex Gaynor, Alice Ryhl, Andreas Hindborg,
Benno Lossin, Boqun Feng, Danilo Krummrich, Gary Guo,
Miguel Ojeda, Trevor Gross, bpf, linux-kernel, rust-for-linux,
Akira Yokosawa
PDF output with current Debian-based distros require other
packages for it to work. The main one is pzdr.tfm. Without
that, \sphinxhyphen{} won't work, affecting multiple docs.
For CJK, tex-gyre is required.
Add the missing packages to the list.
After the change, all PDF files build on latest Ubuntu:
Ubuntu 25.04:
-------------
PASSED: OS detection: Ubuntu 25.04
SKIPPED (Sphinx Sphinx 8.1.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 3:28, return code: 0
PASSED: Build PDF documentation: Build time: 11:08, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Reported-by: Akira Yokosawa <akiyks@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
scripts/sphinx-pre-install | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/scripts/sphinx-pre-install b/scripts/sphinx-pre-install
index b8474848df4e..b24a6f91ec0a 100755
--- a/scripts/sphinx-pre-install
+++ b/scripts/sphinx-pre-install
@@ -764,9 +764,6 @@ class SphinxDependencyChecker(MissingCheckers):
if self.pdf:
pdf_pkgs = {
- "texlive-lang-chinese": [
- "/usr/share/texlive/texmf-dist/tex/latex/ctex/ctexhook.sty",
- ],
"fonts-dejavu": [
"/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf",
],
@@ -775,6 +772,15 @@ class SphinxDependencyChecker(MissingCheckers):
"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc",
"/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc",
],
+ "tex-gyre": [
+ "/usr/share/texmf/tex/latex/tex-gyre/tgtermes.sty"
+ ],
+ "texlive-fonts-recommended": [
+ "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm",
+ ],
+ "texlive-lang-chinese": [
+ "/usr/share/texlive/texmf-dist/tex/latex/ctex/ctexhook.sty",
+ ],
}
for package, files in pdf_pkgs.items():
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 07/11] scripts: sphinx-pre-install: add missing gentoo pdf dependencies
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (5 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 06/11] scripts: sphinx-pre-install: fix PDF build issues on Ubuntu Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 08/11] scripts: sphinx-pre-install: fix PDF dependencies for openSuse Mauro Carvalho Chehab
` (5 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Björn Roy Baron,
Mauro Carvalho Chehab, Alex Gaynor, Alice Ryhl, Andreas Hindborg,
Benno Lossin, Boqun Feng, Danilo Krummrich, Gary Guo,
Miguel Ojeda, Trevor Gross, bpf, linux-kernel, rust-for-linux
There are two packages that are required to build PDF at gentoo:
dev-texlive/texlive-latexextra
media-fonts/lm
Place latex_dependencies on a list to make it easier to maintain
and add the missing ones.
With that, most PDF documents now build on Gentoo:
Gentoo Base System release 2.17:
--------------------------------
PASSED: OS detection: Gentoo Base System release 2.17
SKIPPED (Sphinx Sphinx 8.2.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:28, return code: 0
PARTIAL: Build PDF documentation: Test failed (Build time: 9:19, return code: 2)
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
scripts/sphinx-pre-install | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/scripts/sphinx-pre-install b/scripts/sphinx-pre-install
index b24a6f91ec0a..f987abfec802 100755
--- a/scripts/sphinx-pre-install
+++ b/scripts/sphinx-pre-install
@@ -1058,12 +1058,19 @@ class SphinxDependencyChecker(MissingCheckers):
"""
Provide package installation hints for Gentoo.
"""
+ texlive_deps = [
+ "dev-texlive/texlive-latexextra",
+ "dev-texlive/texlive-xetex",
+ "media-fonts/dejavu",
+ "media-fonts/lm",
+ ]
+
progs = {
"convert": "media-gfx/imagemagick",
"dot": "media-gfx/graphviz",
"rsvg-convert": "gnome-base/librsvg",
"virtualenv": "dev-python/virtualenv",
- "xelatex": "dev-texlive/texlive-xetex media-fonts/dejavu",
+ "xelatex": " ".join(texlive_deps),
"yaml": "dev-python/pyyaml",
"python-sphinx": "dev-python/sphinx",
}
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 08/11] scripts: sphinx-pre-install: fix PDF dependencies for openSuse
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (6 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 07/11] scripts: sphinx-pre-install: add missing gentoo pdf dependencies Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 09/11] scripts: sphinx-pre-install: fix dependencies for OpenMandriva Mauro Carvalho Chehab
` (4 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
The dependencies are outdated: both versions need texlive-dejavu
fonts. Also, for PDF generation, python311-Sphinx-latex is
required.
With that, all PDF files are now tuilt on both:
openSUSE Leap 15.6:
-------------------
PASSED: OS detection: openSUSE Leap 15.6
SKIPPED (Sphinx Sphinx 7.2.6): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:29, return code: 0
PASSED: Build PDF documentation: Build time: 13:45, return code: 0
openSUSE Tumbleweed:
--------------------
PASSED: OS detection: openSUSE Tumbleweed
SKIPPED (Sphinx Sphinx 8.2.3): System packages
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 4:33, return code: 0
PASSED: Build PDF documentation: Build time: 13:18, return code: 0
Summary
=======
PASSED - openSUSE Leap 15.6 (7 tests)
PASSED - openSUSE Tumbleweed (7 tests)
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
scripts/sphinx-pre-install | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts/sphinx-pre-install b/scripts/sphinx-pre-install
index f987abfec802..86f129c76ecd 100755
--- a/scripts/sphinx-pre-install
+++ b/scripts/sphinx-pre-install
@@ -901,7 +901,7 @@ class SphinxDependencyChecker(MissingCheckers):
"dot": "graphviz",
"python-sphinx": "python3-sphinx",
"virtualenv": "python3-virtualenv",
- "xelatex": "texlive-xetex-bin",
+ "xelatex": "texlive-xetex-bin texlive-dejavu",
"yaml": "python3-pyyaml",
}
@@ -937,7 +937,7 @@ class SphinxDependencyChecker(MissingCheckers):
self.recommend_python = True
progs.update({
- "python-sphinx": "python311-Sphinx",
+ "python-sphinx": "python311-Sphinx python311-Sphinx-latex",
"virtualenv": "python311-virtualenv",
"yaml": "python311-PyYAML",
})
@@ -945,7 +945,7 @@ class SphinxDependencyChecker(MissingCheckers):
# Tumbleweed defaults to Python 3.11
progs.update({
- "python-sphinx": "python313-Sphinx",
+ "python-sphinx": "python313-Sphinx python313-Sphinx-latex",
"virtualenv": "python313-virtualenv",
"yaml": "python313-PyYAML",
})
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 09/11] scripts: sphinx-pre-install: fix dependencies for OpenMandriva
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (7 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 08/11] scripts: sphinx-pre-install: fix PDF dependencies for openSuse Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 10/11] scripts: sphinx-pre-install: fix pdf dependencies for Mageia 9 Mauro Carvalho Chehab
` (3 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel
The dependeny list for OpenMandriva is wrong. Update it.
Yet, on my tests with OpenMandriva LX 4.3, the texlive packages are
broken: xelatex can't build anything there, as it lacks xelatex.sfm.
Yet, this could be a problem at the way I created the container.
Just in case, add a note about that.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
scripts/sphinx-pre-install | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/scripts/sphinx-pre-install b/scripts/sphinx-pre-install
index 86f129c76ecd..224db3af17db 100755
--- a/scripts/sphinx-pre-install
+++ b/scripts/sphinx-pre-install
@@ -984,13 +984,19 @@ class SphinxDependencyChecker(MissingCheckers):
if re.search(r"OpenMandriva", self.system_release):
packager_cmd = "dnf install"
noto_sans = "noto-sans-cjk-fonts"
- tex_pkgs = ["texlive-collection-fontsextra"]
+ tex_pkgs = [
+ "texlive-collection-basic",
+ "texlive-collection-langcjk",
+ "texlive-collection-fontsextra",
+ "texlive-collection-fontsrecommended"
+ ]
# Tested on OpenMandriva Lx 4.3
progs["convert"] = "imagemagick"
progs["yaml"] = "python-pyyaml"
progs["python-virtualenv"] = "python-virtualenv"
progs["python-sphinx"] = "python-sphinx"
+ progs["xelatex"] = "texlive"
self.check_program("python-virtualenv", DepManager.PYTHON_MANDATORY)
@@ -1004,7 +1010,9 @@ class SphinxDependencyChecker(MissingCheckers):
if not self.distro_msg:
self.distro_msg = \
- "Note: for venv, ensurepip could be broken, preventing its install method."
+ "Notes:\n"\
+ "1. for venv, ensurepip could be broken, preventing its install method.\n" \
+ "2. at least on OpenMandriva LX 4.3, texlive packages seem broken"
else:
packager_cmd = "urpmi"
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 10/11] scripts: sphinx-pre-install: fix pdf dependencies for Mageia 9
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (8 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 09/11] scripts: sphinx-pre-install: fix dependencies for OpenMandriva Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 11/11] scripts: sphinx-pre-install: fix PDF dependencies for gentoo Mauro Carvalho Chehab
` (2 subsequent siblings)
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Björn Roy Baron,
Mauro Carvalho Chehab, Alex Gaynor, Alice Ryhl, Andreas Hindborg,
Benno Lossin, Boqun Feng, Danilo Krummrich, Gary Guo,
Miguel Ojeda, Trevor Gross, bpf, linux-kernel, rust-for-linux
On Mageia 9, two packages are missing. Add them.
With that, all PDF packages now build:
Mageia 9:
---------
PASSED: OS detection: Mageia 9
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 8.1.3
PASSED: Sphinx package: Sphinx Sphinx 6.1.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 5:17, return code: 0
PASSED: Build PDF documentation: Build time: 14:28, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Summary
=======
PASSED - Mageia 9 (7 tests)
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
scripts/sphinx-pre-install | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/sphinx-pre-install b/scripts/sphinx-pre-install
index 224db3af17db..758a84ae6347 100755
--- a/scripts/sphinx-pre-install
+++ b/scripts/sphinx-pre-install
@@ -979,6 +979,8 @@ class SphinxDependencyChecker(MissingCheckers):
tex_pkgs = [
"texlive-fontsextra",
+ "texlive-fonts-asian",
+ "fonts-ttf-dejavu",
]
if re.search(r"OpenMandriva", self.system_release):
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 11/11] scripts: sphinx-pre-install: fix PDF dependencies for gentoo
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (9 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 10/11] scripts: sphinx-pre-install: fix pdf dependencies for Mageia 9 Mauro Carvalho Chehab
@ 2025-08-15 11:36 ` Mauro Carvalho Chehab
2025-08-16 5:06 ` [PATCH 00/11] Fix PDF doc builds on major distros Akira Yokosawa
2025-08-17 15:32 ` Vegard Nossum
12 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-15 11:36 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Björn Roy Baron,
Mauro Carvalho Chehab, Alex Gaynor, Alice Ryhl, Andreas Hindborg,
Benno Lossin, Boqun Feng, Danilo Krummrich, Gary Guo,
Miguel Ojeda, Trevor Gross, bpf, linux-kernel, rust-for-linux
Package fonts are wrong. Fix it. With that, most PDF files
now builds.
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
FAILED: userspace-api: Build failed (FAILED)
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
FAILED: translations: Build failed (FAILED)
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
FAILED: gpu: Build failed (FAILED)
FAILED: i2c: Build failed (FAILED)
FAILED: RCU: Build failed (FAILED)
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
FAILED: arch: Build failed (FAILED)
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
FAILED: core-api: Build failed (FAILED)
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
scripts/sphinx-pre-install | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/sphinx-pre-install b/scripts/sphinx-pre-install
index 758a84ae6347..c46d7b76f93c 100755
--- a/scripts/sphinx-pre-install
+++ b/scripts/sphinx-pre-install
@@ -1069,10 +1069,10 @@ class SphinxDependencyChecker(MissingCheckers):
Provide package installation hints for Gentoo.
"""
texlive_deps = [
+ "dev-texlive/texlive-fontsrecommended",
"dev-texlive/texlive-latexextra",
"dev-texlive/texlive-xetex",
"media-fonts/dejavu",
- "media-fonts/lm",
]
progs = {
--
2.50.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (10 preceding siblings ...)
2025-08-15 11:36 ` [PATCH 11/11] scripts: sphinx-pre-install: fix PDF dependencies for gentoo Mauro Carvalho Chehab
@ 2025-08-16 5:06 ` Akira Yokosawa
2025-08-16 11:55 ` Mauro Carvalho Chehab
2025-08-17 15:32 ` Vegard Nossum
12 siblings, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-16 5:06 UTC (permalink / raw)
To: mchehab+huawei; +Cc: bpf, corbet, linux-doc, linux-kernel, Akira Yokosawa
[-CC most folks]
Hi Mauro,
On Fri, 15 Aug 2025 13:36:16 +0200, Mauro Carvalho Chehab wrote:
> Hi Jon,
>
> This series touch only on three files, and have a small diffstat:
>
> Documentation/Makefile | 4 -
> Documentation/conf.py | 106 +++++++++++++++++++++----------------
> scripts/sphinx-pre-install | 41 +++++++++++---
> 3 files changed, 96 insertions(+), 55 deletions(-)
>
> Yet, it took a lot of my time. Basically, it addresses lots of problems related
> with building PDF docs:
>
> - Makefile has a wrong set of definitions for paper size. It was
> using pre-1.7 Sphinx nomenclature for some conf vars;
> - The LaTeX options a conf.py had lots of issues;
> - Finally, some PDF package dependencies for distros were wrong.
>
> I wrote an entire testbench to test this and doing builds on every
> platform mentioned at sphinx-pre-install.
>
> After the change *most* PDF files are built on *most* platforms.
>
>
> Summary
> =======
> PASSED - AlmaLinux release 9.6 (Sage Margay) (7 tests)
> PASSED - Amazon Linux release 2023 (Amazon Linux) (7 tests)
> FAILED - archlinux (1 tests)
> PASSED - CentOS Stream release 9 (7 tests)
> PARTIAL - Debian GNU/Linux 12 (7 tests)
> PARTIAL - Devuan GNU/Linux 5 (7 tests)
> PASSED - Fedora release 42 (Adams) (7 tests)
> PARTIAL - Gentoo Base System release 2.17 (7 tests)
> PASSED - Kali GNU/Linux 2025.2 (7 tests)
> PASSED - Mageia 9 (7 tests)
> PARTIAL - Linux Mint 22 (7 tests)
> PARTIAL - openEuler release 25.03 (7 tests)
> PARTIAL - OpenMandriva Lx 4.3 (7 tests)
> PASSED - openSUSE Leap 15.6 (7 tests)
> PASSED - openSUSE Tumbleweed (7 tests)
> PARTIAL - Oracle Linux Server release 9.6 (7 tests)
> FAILED - Red Hat Enterprise Linux release 8.10 (Ootpa) (7 tests)
> PARTIAL - Rocky Linux release 8.9 (Green Obsidian) (7 tests)
> PARTIAL - Rocky Linux release 9.6 (Blue Onyx) (7 tests)
> FAILED - Springdale Open Enterprise Linux release 9.2 (Parma) (7 tests)
> PARTIAL - Ubuntu 24.04.2 LTS (7 tests)
> PASSED - Ubuntu 25.04 (7 tests)
>
> The failed distros are:
>
> - archlinux. This is some problem on recent lxc containers. Unrelated
> with pdf builds;
> - RHEL 8: paywall issue: some packages required by Sphinx require a repository
> that it is not openly available. I might have using CentOS repos, but, as we're
> already testing it, I opted not do do it;
> - Springdale 9.2: some broken package dependency.
>
> Now, if you look at the full logs below, you'll see that some distros come with
> XeLaTeX or LaTeX troubles, causing bigger and/or more complex docs to
> fail. It is possible to fix those, but they depend on addressing distro-specific
> LaTeX issues like increasing maximum memory limits and maximum number
> of idented paragraphs.
No, the trouble is failed conversion of SVG --> PDF by convert(1) + rsvg-convert(1).
Failed conversions trigger huge raw SVG code to be included literally into LaTeX
sources, which results in code listings too huge to be rendered in a page; and
overwhelms xelatex.
IIUC, kfigure.py does such fallbacks of failed PDF conversions. Mightn't it be
better to give up early in the latexdocs stage?
> It follows full results per distro.
[Ignoring lengthy list of results...]
I think all you need to test build against are the limited list of:
- arch.pdf
- core-api.pdf
- doc-guide.pdf
- gpu.pdf
- i2c.pdf
- RCU.pdf
- translations.pdf
- userspace-api.pdf
All of them have figures in SVG, and latexdocs tries to convert them
into PDF.
Probably, recommending Inkscape rather than ImageMagick would be the right
thing, at least where it is provided as a distro package.
Regards,
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-16 5:06 ` [PATCH 00/11] Fix PDF doc builds on major distros Akira Yokosawa
@ 2025-08-16 11:55 ` Mauro Carvalho Chehab
2025-08-17 9:46 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-16 11:55 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: bpf, corbet, linux-doc, linux-kernel
Em Sat, 16 Aug 2025 14:06:43 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> [-CC most folks]
>
> Hi Mauro,
>
> On Fri, 15 Aug 2025 13:36:16 +0200, Mauro Carvalho Chehab wrote:
> > Hi Jon,
> >
> > This series touch only on three files, and have a small diffstat:
> >
> > Documentation/Makefile | 4 -
> > Documentation/conf.py | 106 +++++++++++++++++++++----------------
> > scripts/sphinx-pre-install | 41 +++++++++++---
> > 3 files changed, 96 insertions(+), 55 deletions(-)
> >
> > Yet, it took a lot of my time. Basically, it addresses lots of problems related
> > with building PDF docs:
> >
> > - Makefile has a wrong set of definitions for paper size. It was
> > using pre-1.7 Sphinx nomenclature for some conf vars;
> > - The LaTeX options a conf.py had lots of issues;
> > - Finally, some PDF package dependencies for distros were wrong.
> >
> > I wrote an entire testbench to test this and doing builds on every
> > platform mentioned at sphinx-pre-install.
> >
> > After the change *most* PDF files are built on *most* platforms.
> >
> >
> > Summary
> > =======
> > PASSED - AlmaLinux release 9.6 (Sage Margay) (7 tests)
> > PASSED - Amazon Linux release 2023 (Amazon Linux) (7 tests)
> > FAILED - archlinux (1 tests)
> > PASSED - CentOS Stream release 9 (7 tests)
> > PARTIAL - Debian GNU/Linux 12 (7 tests)
> > PARTIAL - Devuan GNU/Linux 5 (7 tests)
> > PASSED - Fedora release 42 (Adams) (7 tests)
> > PARTIAL - Gentoo Base System release 2.17 (7 tests)
> > PASSED - Kali GNU/Linux 2025.2 (7 tests)
> > PASSED - Mageia 9 (7 tests)
> > PARTIAL - Linux Mint 22 (7 tests)
> > PARTIAL - openEuler release 25.03 (7 tests)
> > PARTIAL - OpenMandriva Lx 4.3 (7 tests)
> > PASSED - openSUSE Leap 15.6 (7 tests)
> > PASSED - openSUSE Tumbleweed (7 tests)
> > PARTIAL - Oracle Linux Server release 9.6 (7 tests)
> > FAILED - Red Hat Enterprise Linux release 8.10 (Ootpa) (7 tests)
> > PARTIAL - Rocky Linux release 8.9 (Green Obsidian) (7 tests)
> > PARTIAL - Rocky Linux release 9.6 (Blue Onyx) (7 tests)
> > FAILED - Springdale Open Enterprise Linux release 9.2 (Parma) (7 tests)
> > PARTIAL - Ubuntu 24.04.2 LTS (7 tests)
> > PASSED - Ubuntu 25.04 (7 tests)
> >
> > The failed distros are:
> >
> > - archlinux. This is some problem on recent lxc containers. Unrelated
> > with pdf builds;
> > - RHEL 8: paywall issue: some packages required by Sphinx require a repository
> > that it is not openly available. I might have using CentOS repos, but, as we're
> > already testing it, I opted not do do it;
> > - Springdale 9.2: some broken package dependency.
> >
> > Now, if you look at the full logs below, you'll see that some distros come with
> > XeLaTeX or LaTeX troubles, causing bigger and/or more complex docs to
> > fail. It is possible to fix those, but they depend on addressing distro-specific
> > LaTeX issues like increasing maximum memory limits and maximum number
> > of idented paragraphs.
>
> No, the trouble is failed conversion of SVG --> PDF by convert(1) + rsvg-convert(1).
> Failed conversions trigger huge raw SVG code to be included literally into LaTeX
> sources, which results in code listings too huge to be rendered in a page; and
> overwhelms xelatex.
I remember we had some cases of too large items on media uAPI. There,
the problem were mostly on tables. The fix was to add several LaTeX
specific commands:
$ git grep -i "raw:: latex" Documentation/userspace-api/media/|wc -l
201
Currently, they all are just changing font size, but
We also use less-ugly things like Sphinx PDF builder specific
classes:
.. cssclass:: longtable
So, one alternative would be to look at techniques to auto-scale
image, like:
\usepackage{pdfpages}
...
\includepdf{image.png}
as proposed here:
https://tex.stackexchange.com/questions/39147/scale-image-to-page-width
Yet, we tried something like that before to auto-scale tables,
overriding Sphinx Latex macros. It worked for a couple of sphinx versions,
but maintaining it was hard, as newer versions of Sphinx came with different
macro names or different behaviors.
Heh, if you check:
https://www.sphinx-doc.org/en/master/latex.html#additional-css-like-sphinxsetup-keys
You'll see that sphinx latex builder have been suffering lots of changes
over time.
> IIUC, kfigure.py does such fallbacks of failed PDF conversions. Mightn't it be
> better to give up early in the latexdocs stage?
Makes sense to me.
> > It follows full results per distro.
>
> [Ignoring lengthy list of results...]
>
> I think all you need to test build against are the limited list of:
>
> - arch.pdf
> - core-api.pdf
> - doc-guide.pdf
> - gpu.pdf
> - i2c.pdf
> - RCU.pdf
> - translations.pdf
> - userspace-api.pdf
>
> All of them have figures in SVG, and latexdocs tries to convert them
> into PDF.
>
> Probably, recommending Inkscape rather than ImageMagick would be the right
> thing, at least where it is provided as a distro package.
Works for me, but let's do it on a separate series. I still have more
than 100 patches on my pile to be merged. This series is focused on
making at least some PDFs to build where possible, addressing major
problems at conf.py that are causing LaTeX to not work on several
distros and to fix wrong package dependencies(*).
I'll add a TODO item on my queue to replace fom ImageMagick to
Inkscape on a separate series.
(*) One of such problem you blamed sphinx-build-wrapper, but
the issue is actually addressed on this series with fixes to conf.py:
there are currently several troubles at latex_documents list and at
latex_elements.
Those are causing wrong font detection on LaTeX. Maybe the corrupted
font issues you got are related to it.
It took me a lot of time to set latex_elements in a way that
it now works fine. The main keys related to it are those:
"passoptionstopackages": dedent(r"""
\PassOptionsToPackage{svgnames}{xcolor}
% Avoid encoding troubles when creating indexes
\PassOptionsToPackage{xindy}{language=english,codepage=utf8,noautomatic}
"""),
"fontenc": "",
'fontpkg': dedent(r'''
\usepackage{fontspec}
\setmainfont{DejaVu Serif}
\setsansfont{DejaVu Sans}
\setmonofont{DejaVu Sans Mono}
\newfontfamily\headingfont{DejaVu Serif}
'''),
You can't imagine how much hours it took to get the above
lines right ;-)
Basically, "fontenc" and "fontpkg" are two different ways
that LaTeX use to include true-type fonts. We need to disable the
first, as otherwise it will try to use both, which may result in
incompatible fonts (On Debian, LaTeX build reports corrupted fonts
on T1 fontenc set - preventing PDF builds). The actual messge there
is:
! Corrupted NFSS tables
Btw, just disabling fontenc there was not enough, as babel was still
trying to load a T1 Polish font indirectly used by Sphinx hyphenation
macros. I had to add \newfontfamily to fix such issue.
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-16 11:55 ` Mauro Carvalho Chehab
@ 2025-08-17 9:46 ` Akira Yokosawa
2025-08-17 11:36 ` Mauro Carvalho Chehab
2025-08-18 16:59 ` Jonathan Corbet
0 siblings, 2 replies; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-17 9:46 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: corbet, linux-doc, linux-kernel, Akira Yokosawa
[-CC: bpf@vger]
On Sat, 16 Aug 2025 13:55:38 +0200, Mauro Carvalho Chehab wrote:
> Em Sat, 16 Aug 2025 14:06:43 +0900
> Akira Yokosawa <akiyks@gmail.com> escreveu:
>
[...]
> Works for me, but let's do it on a separate series. I still have more
> than 100 patches on my pile to be merged. This series is focused on
> making at least some PDFs to build where possible, addressing major
> problems at conf.py that are causing LaTeX to not work on several
> distros and to fix wrong package dependencies(*).
>
> I'll add a TODO item on my queue to replace fom ImageMagick to
> Inkscape on a separate series.
>
> (*) One of such problem you blamed sphinx-build-wrapper, but
> the issue is actually addressed on this series with fixes to conf.py:
> there are currently several troubles at latex_documents list and at
> latex_elements.
>
> Those are causing wrong font detection on LaTeX.
I couldn't see what you are talking about at first, because there
have not been any such issues reported.
Also, after applying 1/11 ... 4/11 on top of current docs-next
(commit 0bbc2548ea85 ("Merge branch 'pre-install' into docs-mw"),
despite the changelog of 5/11 which claims to fix an issue under
debian, I couldn't reproduce the "! Corrupted NFSS tables" error
under Ubuntu 24.04 (noble).
I'm confused ... How can I reproduce this?
It's getting really hard for me to keep up with your pace of changes
in doc build scripts, really.
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-17 9:46 ` Akira Yokosawa
@ 2025-08-17 11:36 ` Mauro Carvalho Chehab
2025-08-17 12:24 ` Akira Yokosawa
2025-08-18 16:59 ` Jonathan Corbet
1 sibling, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-17 11:36 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: corbet, linux-doc, linux-kernel
Em Sun, 17 Aug 2025 18:46:35 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> [-CC: bpf@vger]
>
> On Sat, 16 Aug 2025 13:55:38 +0200, Mauro Carvalho Chehab wrote:
> > Em Sat, 16 Aug 2025 14:06:43 +0900
> > Akira Yokosawa <akiyks@gmail.com> escreveu:
> >
>
> [...]
>
> > Works for me, but let's do it on a separate series. I still have more
> > than 100 patches on my pile to be merged. This series is focused on
> > making at least some PDFs to build where possible, addressing major
> > problems at conf.py that are causing LaTeX to not work on several
> > distros and to fix wrong package dependencies(*).
> >
> > I'll add a TODO item on my queue to replace fom ImageMagick to
> > Inkscape on a separate series.
> >
> > (*) One of such problem you blamed sphinx-build-wrapper, but
> > the issue is actually addressed on this series with fixes to conf.py:
> > there are currently several troubles at latex_documents list and at
> > latex_elements.
> >
> > Those are causing wrong font detection on LaTeX.
>
> I couldn't see what you are talking about at first, because there
> have not been any such issues reported.
Heh, as you reported, you had troubles building pdf on Debian/Ubuntu.
That's mainly why I took some time finding issues and writing this
series. Basically, just fixing ImageMagick permissions didn't fix
everything, as, at least with the Sphinx versions used at the tests
got troubles with Sphinx hyphernation, which required a Polish font.
Debian LaTeX packages seem to have issues with that. Fedora and
other rpm-based distros built it fine.
Now, reproducing such bugs could be tricky, specially with LaTeX,
which is a complex tool with lots of system-specific stuff.
Eventually, this could be related to LANG/LANGUAGE/LC_ALL/...
env vars. Here, I'm using lxc-attach to bind to the container.
It doesn't run .bashrc nor set locale vars, and it seems to keep
some env vars from the host. In the specific case of LANG,
it doesn't set anything. So, my test script sets LANG and LC_ALL
to "C". The host has it set to LANG=pt_BR.UTF-8.
> Also, after applying 1/11 ... 4/11 on top of current docs-next
> (commit 0bbc2548ea85 ("Merge branch 'pre-install' into docs-mw"),
> despite the changelog of 5/11 which claims to fix an issue under
> debian, I couldn't reproduce the "! Corrupted NFSS tables" error
> under Ubuntu 24.04 (noble).
Maybe you could try set LANG/LC_ALL to "C".
I tested it on the following lxc containers (picked from lxc
download repositories):
# APT-based (Debian/Ubuntu-like)
debian:
release: "bookworm"
pre_setup_cmds: *apt_pkg_cmd
post_setup_cmds:
- "systemctl enable ssh"
pkg_cmd: *apt_pkg_cmd
devuan:
release: "daedalus"
pkg_cmd: *apt_pkg_cmd
kali:
release: "current"
pkg_cmd: *apt_pkg_cmd
mint:
release: "wilma"
pkg_cmd: *apt_pkg_cmd
ubuntu:
release: "plucky"
pkg_cmd: *apt_pkg_cmd
ubuntu-lts:
dist: "ubuntu"
release: "noble"
pkg_cmd: *apt_pkg_cmd
apt_pkg_cmd: &apt_pkg_cmd
- "sudo locale-gen"
- "sudo dpkg-reconfigure --frontend=noninteractive locales"
- "apt-get update && apt-get install -y openssh-server git python3 make"
- |
if [ -f /etc/ImageMagick-6/policy.xml ]; then
# Remove any existing restrictive policies for PDF/PS/EPS/XPS
sed -i '/<policy.*domain="coder".*pattern=".*\(PDF\|PS\|EPS\|XPS\).*"/d' /etc/ImageMagick-6/policy.xml
# Allow PDF patterns at the end </policymap>
sed -i '/<\/policymap>/i \ \ <policy domain="coder" rights="read|write" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />' /etc/ImageMagick-6/policy.xml
fi
- |
if [ -f /etc/ImageMagick-7/policy.xml ]; then
# Remove any existing restrictive policies for PDF/PS/EPS/XPS
sed -i '/<policy.*domain="coder".*pattern=".*\(PDF\|PS\|EPS\|XPS\).*"/d' /etc/ImageMagick-7/policy.xml
# Allow PDF patterns at the end </policymap>
sed -i '/<\/policymap>/i \ \ <policy domain="coder" rights="read|write" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />' /etc/ImageMagick-7/policy.xml
fi
Packages are installed according using sphinx-pre-install
instructions.
I don't remember what of those got the corrupted tables LaTeX warning,
but I got it on more than one Debian-based distro. When I wrote the
fix, I guess I logged at the Debian container.
> I'm confused ... How can I reproduce this?
>
> It's getting really hard for me to keep up with your pace of changes
> in doc build scripts, really.
>
> Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-17 11:36 ` Mauro Carvalho Chehab
@ 2025-08-17 12:24 ` Akira Yokosawa
2025-08-17 13:45 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-17 12:24 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: corbet, linux-doc, linux-kernel, Akira Yokosawa
On Sun, 17 Aug 2025 13:36:06 +0200, Mauro Carvalho Chehab wrote:
> Em Sun, 17 Aug 2025 18:46:35 +0900
> Akira Yokosawa <akiyks@gmail.com> escreveu:
>
>> [-CC: bpf@vger]
>>
[...]
>> I couldn't see what you are talking about at first, because there
>> have not been any such issues reported.
>
> Heh, as you reported, you had troubles building pdf on Debian/Ubuntu.
> That's mainly why I took some time finding issues and writing this
> series. Basically, just fixing ImageMagick permissions didn't fix
> everything, as, at least with the Sphinx versions used at the tests
> got troubles with Sphinx hyphernation, which required a Polish font.
>
> Debian LaTeX packages seem to have issues with that. Fedora and
> other rpm-based distros built it fine.
>
> Now, reproducing such bugs could be tricky, specially with LaTeX,
> which is a complex tool with lots of system-specific stuff.
>
> Eventually, this could be related to LANG/LANGUAGE/LC_ALL/...
> env vars. Here, I'm using lxc-attach to bind to the container.
> It doesn't run .bashrc nor set locale vars, and it seems to keep
> some env vars from the host. In the specific case of LANG,
> it doesn't set anything. So, my test script sets LANG and LC_ALL
> to "C". The host has it set to LANG=pt_BR.UTF-8.
>
>> Also, after applying 1/11 ... 4/11 on top of current docs-next
>> (commit 0bbc2548ea85 ("Merge branch 'pre-install' into docs-mw"),
>> despite the changelog of 5/11 which claims to fix an issue under
>> debian, I couldn't reproduce the "! Corrupted NFSS tables" error
>> under Ubuntu 24.04 (noble).
>
> Maybe you could try set LANG/LC_ALL to "C".
>
> I tested it on the following lxc containers (picked from lxc
> download repositories):
>
> # APT-based (Debian/Ubuntu-like)
> debian:
> release: "bookworm"
> pre_setup_cmds: *apt_pkg_cmd
> post_setup_cmds:
> - "systemctl enable ssh"
> pkg_cmd: *apt_pkg_cmd
>
> devuan:
> release: "daedalus"
> pkg_cmd: *apt_pkg_cmd
>
> kali:
> release: "current"
> pkg_cmd: *apt_pkg_cmd
>
> mint:
> release: "wilma"
> pkg_cmd: *apt_pkg_cmd
>
> ubuntu:
> release: "plucky"
> pkg_cmd: *apt_pkg_cmd
>
> ubuntu-lts:
> dist: "ubuntu"
> release: "noble"
> pkg_cmd: *apt_pkg_cmd
>
> apt_pkg_cmd: &apt_pkg_cmd
> - "sudo locale-gen"
> - "sudo dpkg-reconfigure --frontend=noninteractive locales"
> - "apt-get update && apt-get install -y openssh-server git python3 make"
> - |
> if [ -f /etc/ImageMagick-6/policy.xml ]; then
> # Remove any existing restrictive policies for PDF/PS/EPS/XPS
> sed -i '/<policy.*domain="coder".*pattern=".*\(PDF\|PS\|EPS\|XPS\).*"/d' /etc/ImageMagick-6/policy.xml
> # Allow PDF patterns at the end </policymap>
> sed -i '/<\/policymap>/i \ \ <policy domain="coder" rights="read|write" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />' /etc/ImageMagick-6/policy.xml
> fi
> - |
> if [ -f /etc/ImageMagick-7/policy.xml ]; then
> # Remove any existing restrictive policies for PDF/PS/EPS/XPS
> sed -i '/<policy.*domain="coder".*pattern=".*\(PDF\|PS\|EPS\|XPS\).*"/d' /etc/ImageMagick-7/policy.xml
> # Allow PDF patterns at the end </policymap>
> sed -i '/<\/policymap>/i \ \ <policy domain="coder" rights="read|write" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />' /etc/ImageMagick-7/policy.xml
> fi
>
> Packages are installed according using sphinx-pre-install
> instructions.
>
> I don't remember what of those got the corrupted tables LaTeX warning,
> but I got it on more than one Debian-based distro. When I wrote the
> fix, I guess I logged at the Debian container.
>
That explains! I've stopped using ImageMagick all together.
So it sounds to me like there is some issue in debian/ubuntu/...'s
ImageMagick packaging, probably its build config disables some
aspect of SVG --> PDF support for security concerns (???).
I'm not sure at all.
I think it has nothing to do with XeLaTeX font discovery and I don't
see any reason to apply 5/11, at least for the time being.
My suggestion would be to give up ImageMagick and install Inkscape
instead. It is provided as a deb package for debian and its derivatives.
Thanks, Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-17 12:24 ` Akira Yokosawa
@ 2025-08-17 13:45 ` Mauro Carvalho Chehab
2025-08-17 16:07 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-17 13:45 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: corbet, linux-doc, linux-kernel
Em Sun, 17 Aug 2025 21:24:49 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> On Sun, 17 Aug 2025 13:36:06 +0200, Mauro Carvalho Chehab wrote:
> > Em Sun, 17 Aug 2025 18:46:35 +0900
> > Akira Yokosawa <akiyks@gmail.com> escreveu:
> >
> >> [-CC: bpf@vger]
> >>
>
> [...]
>
> >> I couldn't see what you are talking about at first, because there
> >> have not been any such issues reported.
> >
> > Heh, as you reported, you had troubles building pdf on Debian/Ubuntu.
> > That's mainly why I took some time finding issues and writing this
> > series. Basically, just fixing ImageMagick permissions didn't fix
> > everything, as, at least with the Sphinx versions used at the tests
> > got troubles with Sphinx hyphernation, which required a Polish font.
> >
> > Debian LaTeX packages seem to have issues with that. Fedora and
> > other rpm-based distros built it fine.
> >
> > Now, reproducing such bugs could be tricky, specially with LaTeX,
> > which is a complex tool with lots of system-specific stuff.
> >
> > Eventually, this could be related to LANG/LANGUAGE/LC_ALL/...
> > env vars. Here, I'm using lxc-attach to bind to the container.
> > It doesn't run .bashrc nor set locale vars, and it seems to keep
> > some env vars from the host. In the specific case of LANG,
> > it doesn't set anything. So, my test script sets LANG and LC_ALL
> > to "C". The host has it set to LANG=pt_BR.UTF-8.
> >
> >> Also, after applying 1/11 ... 4/11 on top of current docs-next
> >> (commit 0bbc2548ea85 ("Merge branch 'pre-install' into docs-mw"),
> >> despite the changelog of 5/11 which claims to fix an issue under
> >> debian, I couldn't reproduce the "! Corrupted NFSS tables" error
> >> under Ubuntu 24.04 (noble).
> >
> > Maybe you could try set LANG/LC_ALL to "C".
> >
> > I tested it on the following lxc containers (picked from lxc
> > download repositories):
> >
> > # APT-based (Debian/Ubuntu-like)
> > debian:
> > release: "bookworm"
> > pre_setup_cmds: *apt_pkg_cmd
> > post_setup_cmds:
> > - "systemctl enable ssh"
> > pkg_cmd: *apt_pkg_cmd
> >
> > devuan:
> > release: "daedalus"
> > pkg_cmd: *apt_pkg_cmd
> >
> > kali:
> > release: "current"
> > pkg_cmd: *apt_pkg_cmd
> >
> > mint:
> > release: "wilma"
> > pkg_cmd: *apt_pkg_cmd
> >
> > ubuntu:
> > release: "plucky"
> > pkg_cmd: *apt_pkg_cmd
> >
> > ubuntu-lts:
> > dist: "ubuntu"
> > release: "noble"
> > pkg_cmd: *apt_pkg_cmd
> >
> > apt_pkg_cmd: &apt_pkg_cmd
> > - "sudo locale-gen"
> > - "sudo dpkg-reconfigure --frontend=noninteractive locales"
> > - "apt-get update && apt-get install -y openssh-server git python3 make"
> > - |
> > if [ -f /etc/ImageMagick-6/policy.xml ]; then
> > # Remove any existing restrictive policies for PDF/PS/EPS/XPS
> > sed -i '/<policy.*domain="coder".*pattern=".*\(PDF\|PS\|EPS\|XPS\).*"/d' /etc/ImageMagick-6/policy.xml
> > # Allow PDF patterns at the end </policymap>
> > sed -i '/<\/policymap>/i \ \ <policy domain="coder" rights="read|write" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />' /etc/ImageMagick-6/policy.xml
> > fi
> > - |
> > if [ -f /etc/ImageMagick-7/policy.xml ]; then
> > # Remove any existing restrictive policies for PDF/PS/EPS/XPS
> > sed -i '/<policy.*domain="coder".*pattern=".*\(PDF\|PS\|EPS\|XPS\).*"/d' /etc/ImageMagick-7/policy.xml
> > # Allow PDF patterns at the end </policymap>
> > sed -i '/<\/policymap>/i \ \ <policy domain="coder" rights="read|write" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />' /etc/ImageMagick-7/policy.xml
> > fi
> >
> > Packages are installed according using sphinx-pre-install
> > instructions.
> >
> > I don't remember what of those got the corrupted tables LaTeX warning,
> > but I got it on more than one Debian-based distro. When I wrote the
> > fix, I guess I logged at the Debian container.
> >
>
> That explains! I've stopped using ImageMagick all together.
>
> So it sounds to me like there is some issue in debian/ubuntu/...'s
> ImageMagick packaging, probably its build config disables some
> aspect of SVG --> PDF support for security concerns (???).
> I'm not sure at all.
>
> I think it has nothing to do with XeLaTeX font discovery and I don't
> see any reason to apply 5/11, at least for the time being.
>
> My suggestion would be to give up ImageMagick and install Inkscape
> instead. It is provided as a deb package for debian and its derivatives.
The corrupted table error happened with very simple PDF files and has
nothing to do with image generation.
It rises even with very simple PDF targets like this:
make SPHINXDIRS=peci pdfdocs
Which produces \sphinxhyphen{} inside peci.tex, like this one:
controller is acting as a PECI originator and the processor \sphinxhyphen{} as
Basically, if this is included, directly or indirectly at the
.tex file:
\usepackage[T1]{fontenc}
the fonts from T1 fontset aren't UTF-8 compatible, causing troubles
with xelatex. The fixes on this series solved some corner cases, where
babel tries to include it and use a Polish font (pzdr.tfm) to
handle hyphenation.
Such issue likely depends on Sphinx versions (as it is related to a
sphinx-specific macro) and what LaTeX packages are installed at
the system (fonts, babel, polygrossia).
Regards,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
` (11 preceding siblings ...)
2025-08-16 5:06 ` [PATCH 00/11] Fix PDF doc builds on major distros Akira Yokosawa
@ 2025-08-17 15:32 ` Vegard Nossum
2025-08-18 8:33 ` Mauro Carvalho Chehab
12 siblings, 1 reply; 42+ messages in thread
From: Vegard Nossum @ 2025-08-17 15:32 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Jonathan Corbet, Linux Doc Mailing List
Cc: linux-kernel
(trimmed Ccs)
Hi Mauro,
Thank you for testing on OL. I'm wondering about some of the results,
however...
On 15/08/2025 13:36, Mauro Carvalho Chehab wrote:
> Oracle Linux Server release 9.6:
> --------------------------------
> PASSED: OS detection: Oracle Linux Server release 9.6
> SKIPPED (Sphinx Sphinx 3.4.3): System packages
> SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
> SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
> PASSED: Clean documentation: Build time: 0:00, return code: 0
> PASSED: Build HTML documentation: Build time: 0:06, return code: 0
How is the html PASSED with the build time only 6 seconds, that looks
rather odd to me.
> PARTIAL: Build PDF documentation: Test failed (Build time: 0:07, return code: 2)
>
> PDF docs:
> ---------
> PASSED: latex: FAILED (no .tex)
This doesn't seem like it PASSED either if it FAILED.
I tried on OL 9.5 and got:
"""
$ scripts/sphinx-pre-install
...
You should run:
sudo yum install -y ImageMagick graphviz
...
sudo yum install -y python3-sphinx
"""
But I actually need to do this:
sudo yum --enablerepo=ol9_developer_EPEL install -y ImageMagick graphviz
and then
sudo yum --enablrepo=ol9_codeready_builder install -y python3-sphinx
respectively.
After this, I see a bunch of red warnings but 'make htmldocs' succeeds
and after 33 minutes.
For pdfdocs and latexdocs, respectively, I get:
$ make pdfdocs
Documentation/Makefile:156: The 'xelatex' command was not found. Make
sure you have it installed and in PATH to produce PDF output.
SKIP Sphinx pdfdocs target.
$ time make latexdocs
make[3]: Nothing to be done for 'latex'.
Using alabaster theme
Using Python kernel-doc
Documentation/i2c/instantiating-devices.rst:36: WARNING: Could not lex
literal_block as "dts". Highlighting skipped.
real 21m12.103s
user 20m58.124s
sys 0m18.567s
Vegard
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-17 13:45 ` Mauro Carvalho Chehab
@ 2025-08-17 16:07 ` Akira Yokosawa
2025-08-18 0:44 ` Akira Yokosawa
2025-08-18 17:07 ` Jonathan Corbet
0 siblings, 2 replies; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-17 16:07 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: corbet, linux-doc, linux-kernel, Akira Yokosawa
On Sun, 17 Aug 2025 15:45:44 +0200, Mauro Carvalho Chehab wrote:
[...]
> The corrupted table error happened with very simple PDF files and has
> nothing to do with image generation.
>
> It rises even with very simple PDF targets like this:
>
> make SPHINXDIRS=peci pdfdocs
>
> Which produces \sphinxhyphen{} inside peci.tex, like this one:
>
> controller is acting as a PECI originator and the processor \sphinxhyphen{} as
>
> Basically, if this is included, directly or indirectly at the
> .tex file:
>
> \usepackage[T1]{fontenc}
>
> the fonts from T1 fontset aren't UTF-8 compatible, causing troubles
> with xelatex. The fixes on this series solved some corner cases, where
> babel tries to include it and use a Polish font (pzdr.tfm) to
> handle hyphenation.
>
> Such issue likely depends on Sphinx versions (as it is related to a
> sphinx-specific macro) and what LaTeX packages are installed at
> the system (fonts, babel, polygrossia).
Ah, I have finally understood what 5/11 is trying to do.
Its changelog mainly talks about an issue you saw after adding options
to xindy in that same commit, and you added
\newfontfamily\headingfont{DejaVu Serif}
to resolve it.
Current changelog didn't make sense at all for me.
Can you please reword it and make it easier to follow?
With that, feel free to add my
Reviewed-by: Akira Yokosawa <akiyks@gmail.com>
Thanks, Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-17 16:07 ` Akira Yokosawa
@ 2025-08-18 0:44 ` Akira Yokosawa
2025-08-18 9:42 ` Mauro Carvalho Chehab
2025-08-18 17:07 ` Jonathan Corbet
1 sibling, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-18 0:44 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: corbet, linux-doc, linux-kernel, Akira Yokosawa
On Mon, 18 Aug 2025 01:07:24 +0900, Akira Yokosawa wrote:
[...]
>
> Ah, I have finally understood what 5/11 is trying to do.
>
> Its changelog mainly talks about an issue you saw after adding options
> to xindy in that same commit, and you added
>
> \newfontfamily\headingfont{DejaVu Serif}
>
> to resolve it.
Sidenote:
It looks like texlive-xindy is not available for RHEL based distros.
That means, you will need to ask EPEL to provide it.
Otherwise, you are obsoleting those distros for pdfdocs build
(under the confinement of "distro packages only").
I think I can live with it.
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-17 15:32 ` Vegard Nossum
@ 2025-08-18 8:33 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-18 8:33 UTC (permalink / raw)
To: Vegard Nossum; +Cc: Jonathan Corbet, Linux Doc Mailing List, linux-kernel
Em Sun, 17 Aug 2025 17:32:24 +0200
Vegard Nossum <vegard.nossum@oracle.com> escreveu:
> (trimmed Ccs)
>
> Hi Mauro,
>
> Thank you for testing on OL. I'm wondering about some of the results,
> however...
>
> On 15/08/2025 13:36, Mauro Carvalho Chehab wrote:
> > Oracle Linux Server release 9.6:
> > --------------------------------
> > PASSED: OS detection: Oracle Linux Server release 9.6
> > SKIPPED (Sphinx Sphinx 3.4.3): System packages
> > SKIPPED (Sphinx already installed either as venv or as native package): Sphinx on venv
> > SKIPPED (Sphinx already installed either as venv or as native package): Sphinx package
> > PASSED: Clean documentation: Build time: 0:00, return code: 0
> > PASSED: Build HTML documentation: Build time: 0:06, return code: 0
>
> How is the html PASSED with the build time only 6 seconds, that looks
> rather odd to me.
>
> > PARTIAL: Build PDF documentation: Test failed (Build time: 0:07, return code: 2)
> >
> > PDF docs:
> > ---------
> > PASSED: latex: FAILED (no .tex)
>
> This doesn't seem like it PASSED either if it FAILED.
The issue here is actually due to the way my test tool works. It basically
runs distros via lxc and use lxc-attach to run a test script (I also
use podman for a few containers, when there's no container via lxc).
Well, attaching to a container doesn't set language. If sphinx-build is
called without language, it crashes badly: nothing works on it.
Even --version crashes:
$ sphinx-build --version
Traceback (most recent call last):
File "/usr/bin/sphinx-build", line 8, in <module>
sys.exit(main())
~~~~^^
File "/usr/lib/python3/dist-packages/sphinx/cmd/build.py", line 546, in main
locale.setlocale(locale.LC_ALL, '')
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/locale.py", line 615, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
$ LC_ALL=C sphinx-build --version
sphinx-build 8.1.3
The crash happens at the the main() function for the build command at:
/usr/lib/python3/dist-packages/sphinx/cmd/build.py. It tries to set locale
to '', using what it is recommended at
https://docs.python.org/3/library/locale.html, but Python crashes.
An sphinx-build workaround logic would be for it to do:
def main(argv: Sequence[str] = (), /) -> int:
try:
locale.setlocale(locale.LC_ALL, '')
except:
locale.setlocale(locale.LC_ALL, 'C')
Such issue is present on all versions of Sphinx, as far as I'm aware.
Now, as sphinx-build is doing what Python library recommends,
IMO, the root cause should be fixed: Python internal library should
handle this better, as if one doesn't care about the actual locale,
passing just '', it should fallback to "C" instead of crashing.
In any case, as kernel build has to support legacy Python and Sphinx
versions, I sent a patch addressing such issue via the new
sphinx-build-wrapper I'm proposing:
https://lore.kernel.org/linux-doc/461e00fe7ce75eaac90d98572bb93910b39361e2.1755258303.git.mchehab+huawei@kernel.org/
It sounds I ended placing the run results before such fix. I'll
submit a v2 with the right logs.
> I tried on OL 9.5 and got:
>
> """
> $ scripts/sphinx-pre-install
> ...
> You should run:
>
> sudo yum install -y ImageMagick graphviz
> ...
> sudo yum install -y python3-sphinx
> """
>
> But I actually need to do this:
>
> sudo yum --enablerepo=ol9_developer_EPEL install -y ImageMagick graphviz
>
> and then
>
> sudo yum --enablrepo=ol9_codeready_builder install -y python3-sphinx
>
> respectively.
The logic at sphinx-pre-install assumes that the needed repositories
are enabled. The rationale is that each distro has its own particular
way to split packages between repositories, and this varies a from
time to time. For instance, up to CentOS 8 and RHEL8, the EPEL repository
contained all non-officially supported packages, which includes Sphinx.
On version 9 of most of such distros, this was named CRB, although this is
not consistent over the variations. So, for instance,
On OpenEuler, it doesn't need to set any extra repository.
On Almalinux, CentOS and Rockylinux it does set crb:
- "dnf config-manager --set-enabled crb"
On OL, it sets those:
- "sudo dnf install -y oraclelinux-release-el9 epel-release"
- "dnf config-manager --set-enabled base latest ol9_appstream ol9_developer_EPEL ol9_codeready_builder"
On RHEL using the "redhat/ubi8" docker container, the extra repos are
behind a paywall.
> After this, I see a bunch of red warnings but 'make htmldocs' succeeds
> and after 33 minutes.
Those warnings exist on upstream.
>
> For pdfdocs and latexdocs, respectively, I get:
>
> $ make pdfdocs
> Documentation/Makefile:156: The 'xelatex' command was not found. Make
> sure you have it installed and in PATH to produce PDF output.
> SKIP Sphinx pdfdocs target.
If you install the needed repositories and all recommentations from
sphinx-pre-install, you should be able to build pdfs.
I Just ran it here from a container I re-created from scratch, and got:
Oracle Linux Server release 9.6:
--------------------------------
PASSED: OS detection: Oracle Linux Server release 9.6
PASSED: System packages: Packages installed
PASSED: Sphinx on venv: Sphinx Sphinx 7.4.7
PASSED: Sphinx package: Sphinx Sphinx 3.4.3
PASSED: Clean documentation: Build time: 0:00, return code: 0
PASSED: Build HTML documentation: Build time: 3:57, return code: 0
PASSED: Build PDF documentation: Build time: 10:09, return code: 0
PDF docs:
---------
PASSED: dev-tools: pdf/dev-tools.pdf
PASSED: tools: pdf/tools.pdf
PASSED: filesystems: pdf/filesystems.pdf
PASSED: w1: pdf/w1.pdf
PASSED: maintainer: pdf/maintainer.pdf
PASSED: process: pdf/process.pdf
PASSED: isdn: pdf/isdn.pdf
PASSED: fault-injection: pdf/fault-injection.pdf
PASSED: iio: pdf/iio.pdf
PASSED: scheduler: pdf/scheduler.pdf
PASSED: staging: pdf/staging.pdf
PASSED: fpga: pdf/fpga.pdf
PASSED: power: pdf/power.pdf
PASSED: leds: pdf/leds.pdf
PASSED: edac: pdf/edac.pdf
PASSED: PCI: pdf/PCI.pdf
PASSED: firmware-guide: pdf/firmware-guide.pdf
PASSED: cpu-freq: pdf/cpu-freq.pdf
PASSED: mhi: pdf/mhi.pdf
PASSED: wmi: pdf/wmi.pdf
PASSED: timers: pdf/timers.pdf
PASSED: accel: pdf/accel.pdf
PASSED: hid: pdf/hid.pdf
PASSED: userspace-api: pdf/userspace-api.pdf
PASSED: spi: pdf/spi.pdf
PASSED: networking: pdf/networking.pdf
PASSED: virt: pdf/virt.pdf
PASSED: nvme: pdf/nvme.pdf
PASSED: translations: pdf/translations.pdf
PASSED: input: pdf/input.pdf
PASSED: tee: pdf/tee.pdf
PASSED: doc-guide: pdf/doc-guide.pdf
PASSED: cdrom: pdf/cdrom.pdf
PASSED: gpu: pdf/gpu.pdf
PASSED: i2c: pdf/i2c.pdf
PASSED: RCU: pdf/RCU.pdf
PASSED: watchdog: pdf/watchdog.pdf
PASSED: usb: pdf/usb.pdf
PASSED: rust: pdf/rust.pdf
PASSED: crypto: pdf/crypto.pdf
PASSED: kbuild: pdf/kbuild.pdf
PASSED: livepatch: pdf/livepatch.pdf
PASSED: mm: pdf/mm.pdf
PASSED: locking: pdf/locking.pdf
PASSED: infiniband: pdf/infiniband.pdf
PASSED: driver-api: pdf/driver-api.pdf
PASSED: bpf: pdf/bpf.pdf
PASSED: devicetree: pdf/devicetree.pdf
PASSED: block: pdf/block.pdf
PASSED: target: pdf/target.pdf
PASSED: arch: pdf/arch.pdf
PASSED: pcmcia: pdf/pcmcia.pdf
PASSED: scsi: pdf/scsi.pdf
PASSED: netlabel: pdf/netlabel.pdf
PASSED: sound: pdf/sound.pdf
PASSED: security: pdf/security.pdf
PASSED: accounting: pdf/accounting.pdf
PASSED: admin-guide: pdf/admin-guide.pdf
PASSED: core-api: pdf/core-api.pdf
PASSED: fb: pdf/fb.pdf
PASSED: peci: pdf/peci.pdf
PASSED: trace: pdf/trace.pdf
PASSED: misc-devices: pdf/misc-devices.pdf
PASSED: kernel-hacking: pdf/kernel-hacking.pdf
PASSED: hwmon: pdf/hwmon.pdf
Summary
=======
PASSED - Oracle Linux Server release 9.6 (7 tests)
PS.: I'm using both this series and the sphinx-build-wrapper one,
as it has a summary at the end which checks what PDF file was
actually built.
Btw, I'm enclosing at the end the logs I got from my test toolset.
I dropped several messages from the log, as the full log is 137k
lines:
$ wc -l container_tests.log oracle_report.log
72107 container_tests.log
65596 oracle_report.log
137703 total
but I preserved the most relevant logs.
-
Those are the logs containing the preparation steps done to create the
Container
2025-08-18 09:33:23,302 [oracle DEBUG] Executing: sudo lxc-create -n oracle-test -t download -- --dist oracle --release 9 --arch amd64
2025-08-18 09:33:24,021 [oracle DEBUG] Executing: sudo mkdir -p /var/lib/lxc/oracle-test
2025-08-18 09:33:24,061 [oracle DEBUG] Executing: sudo sh -c cat > /var/lib/lxc/oracle-test/config <<EOF
lxc.arch = x86_64
lxc.pty.max = 1024
lxc.tty.max = 4
lxc.net.0.type = veth
lxc.net.0.link = lxcbr0
lxc.net.0.flags = up
lxc.net.0.hwaddr = 00:16:3e:5b:89:e7
lxc.cap.drop = mac_admin mac_override sys_time sys_module sys_rawio
lxc.cgroup.devices.allow = a
lxc.cgroup2.devices.allow = a
lxc.mount.auto = proc sys cgroup
lxc.rootfs.path = /var/lib/lxc/oracle-test/rootfs
2025-08-18 09:33:25,398 [oracle DEBUG] Executing: sudo lxc-attach -n oracle-test -- env LANG=C.UTF-8 sh -c sudo dnf install -y oraclelinux-release-el9 epel-release
2025-08-18 09:33:37,730 [oracle DEBUG] Executing: sudo lxc-attach -n oracle-test -- env LANG=C.UTF-8 sh -c dnf config-manager --set-enabled base latest ol9_appstream ol9_developer_EPEL ol9_codeready_builder
2025-08-18 09:33:37,885 [oracle DEBUG] Executing: sudo lxc-attach -n oracle-test -- env LANG=C.UTF-8 sh -c dnf install -y which openssh-server git python3 tar make diffutils
# Here, I'm copying the Kernel from the host via tarball, as this is
# faster than using git clone and transfers less files, as I'm
# placing there just the files needed for docs build
2025-08-18 09:34:11,001 [oracle DEBUG] Executing: sudo lxc-attach -n oracle-test -- tar xpf - --no-same-owner -C /
# Here, I execute my test script
2025-08-18 09:34:16,322 [oracle DEBUG] Executing: sudo lxc-attach -n oracle-test -- env LANG=C.UTF-8 sh -c cd /root && LC_ALL=C ./docs-build.py
---
This is the output of my docs-build.py test script, which reads the
install instructions from sphinx-pre-install, executes them and
build html and pdf:
TEST REPORT: ORACLE
Generated: 2025-08-18 09:50:28
Stage: Tests
TEST RESULTS:
Status: SUCCESS
Return Code: 0
STANDARD OUTPUT:
VALIDATE: cd /root && LC_ALL=C ./docs-build.py
---------------------------------------------
$ ./scripts/sphinx-pre-install
Python version: 3.9.21
Detected OS: Oracle Linux Server release 9.6.
Warning: build optional deps missing: ImageMagick graphviz
ERROR: Python mandatory deps missing: python3-pyyaml
ERROR: PDF mandatory deps missing: dejavu-sans-fonts dejavu-sans-mono-fonts dejavu-serif-fonts google-noto-sans-cjk-ttc-fonts latexmk librsvg2-tools texlive-amscls texlive-amsfonts texlive-amsmath texlive-anyfontsize texlive-capt-of texlive-cmap texlive-collection-fontsrecommended texlive-collection-latex texlive-ctex texlive-ec texlive-eqparbox texlive-euenc texlive-fancybox texlive-fancyvrb texlive-float texlive-fncychap texlive-framed texlive-luatex85 texlive-mdwtools texlive-multirow texlive-needspace texlive-oberdiek texlive-parskip texlive-polyglossia texlive-psnfss texlive-tabulary texlive-threeparttable texlive-titlesec texlive-tools texlive-ucs texlive-upquote texlive-wrapfig texlive-xecjk texlive-xetex-bin
You should run:
sudo dnf install ImageMagick dejavu-sans-fonts dejavu-sans-mono-fonts dejavu-serif-fonts google-noto-sans-cjk-ttc-fonts graphviz latexmk librsvg2-tools python3-pyyaml texlive-amscls texlive-amsfonts texlive-amsmath texlive-anyfontsize texlive-capt-of texlive-cmap texlive-collection-fontsrecommended texlive-collection-latex texlive-ctex texlive-ec texlive-eqparbox texlive-euenc texlive-fancybox texlive-fancyvrb texlive-float texlive-fncychap texlive-framed texlive-luatex85 texlive-mdwtools texlive-multirow texlive-needspace texlive-oberdiek texlive-parskip texlive-polyglossia texlive-psnfss texlive-tabulary texlive-threeparttable texlive-titlesec texlive-tools texlive-ucs texlive-upquote texlive-wrapfig texlive-xecjk texlive-xetex-bin
Note: RHEL-based distros typically require extra repositories.
For most, enabling epel and crb are enough:
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
Yet, some may have other required repositories. Those commands could be useful:
sudo dnf repolist all
sudo dnf repoquery --available --info <pkgs>
sudo dnf config-manager --set-enabled '*' # enable all - probably not what you want
Sphinx needs to be installed either:
1) via pip/pypi with:
/usr/bin/python3 -m venv sphinx_latest
. sphinx_latest/bin/activate
pip install -r ./Documentation/sphinx/requirements.txt
If you want to exit the virtualenv, you can use:
deactivate
2) As a package with:
sudo dnf install python3-sphinx
Please note that Sphinx currentlys produce false-positive
warnings when the same name is used for more than one type (functions,
structs, enums,...). This is known Sphinx bug. For more details, see:
https://github.com/sphinx-doc/sphinx/pull/8313
Installing section: system_install with dnf
===========================================
$ dnf install -y --setopt=install_weak_deps=False ImageMagick dejavu-sans-fonts dejavu-sans-mono-fonts dejavu-serif-fonts google-noto-sans-cjk-ttc-fonts graphviz latexmk librsvg2-tools python3-pyyaml texlive-amscls texlive-amsfonts texlive-amsmath texlive-anyfontsize texlive-capt-of texlive-cmap texlive-collection-fontsrecommended texlive-collection-latex texlive-ctex texlive-ec texlive-eqparbox texlive-euenc texlive-fancybox texlive-fancyvrb texlive-float texlive-fncychap texlive-framed texlive-luatex85 texlive-mdwtools texlive-multirow texlive-needspace texlive-oberdiek texlive-parskip texlive-polyglossia texlive-psnfss texlive-tabulary texlive-threeparttable texlive-titlesec texlive-tools texlive-ucs texlive-upquote texlive-wrapfig texlive-xecjk texlive-xetex-bin
Last metadata expiration check: 0:00:22 ago on Mon Aug 18 07:33:55 2025.
Dependencies resolved.
===================================================================================================
Package Arch Version Repository Size
===================================================================================================
Installing:
ImageMagick x86_64 6.9.13.25-1.el9 ol9_developer_EPEL 103 k
...
zziplib x86_64 0.13.71-11.el9_4 ol9_appstream 95 k
Transaction Summary
===================================================================================================
Install 428 Packages
Total download size: 598 M
Installed size: 1.2 G
Downloading Packages:
(1/428): dejavu-sans-fonts-2.37-18.el9.noarch.r 4.2 MB/s | 1.3 MB 00:00
...
(428/428): urw-base35-p052-fonts-20200910-6.el9 491 kB/s | 987 kB 00:02
--------------------------------------------------------------------------------
Total 9.8 MB/s | 598 MB 01:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Running scriptlet: texlive-base-9:20200406-26.el9_2.noarch 1/1
Preparing : 1/1
Running scriptlet: texlive-base-9:20200406-26.el9_2.noarch 1/428
...
Verifying : zziplib-0.13.71-11.el9_4.x86_64 428/428
Installed:
ImageMagick-6.9.13.25-1.el9.x86_64
ImageMagick-libs-6.9.13.25-1.el9.x86_64
LibRaw-0.21.1-1.el9.x86_64
adobe-mappings-cmap-20171205-12.el9.noarch
adobe-mappings-cmap-deprecated-20171205-12.el9.noarch
adobe-mappings-pdf-20180407-10.el9.noarch
atk-2.36.0-5.el9.x86_64
avahi-libs-0.8-22.el9_6.1.x86_64
cairo-1.17.4-7.el9.x86_64
cairo-gobject-1.17.4-7.el9.x86_64
crypto-policies-scripts-20250128-1.git5269e22.el9.noarch
cups-libs-1:2.3.3op2-33.el9.x86_64
dejavu-sans-fonts-2.37-18.el9.noarch
dejavu-sans-mono-fonts-2.37-18.el9.noarch
dejavu-serif-fonts-2.37-18.el9.noarch
desktop-file-utils-0.26-6.el9.x86_64
fontconfig-2.14.0-2.el9_1.x86_64
fonts-filesystem-1:2.0.5-7.el9.1.noarch
freetype-2.10.4-10.el9_5.x86_64
fribidi-1.0.10-6.el9.2.x86_64
gd-2.3.2-3.el9.x86_64
gdk-pixbuf2-2.42.6-6.el9_6.x86_64
gdk-pixbuf2-modules-2.42.6-6.el9_6.x86_64
ghostscript-9.54.0-19.el9_6.x86_64
ghostscript-tools-fonts-9.54.0-19.el9_6.x86_64
ghostscript-tools-printing-9.54.0-19.el9_6.x86_64
google-droid-sans-fonts-20200215-11.el9.2.noarch
google-noto-cjk-fonts-common-20230817-2.el9.noarch
google-noto-sans-cjk-ttc-fonts-20230817-2.el9.noarch
graphite2-1.3.14-9.el9.x86_64
graphviz-2.44.0-26.el9.x86_64
gtk-update-icon-cache-3.24.31-5.el9.x86_64
gtk2-2.24.33-8.el9.x86_64
harfbuzz-2.7.4-10.el9.x86_64
hicolor-icon-theme-0.17-13.el9.noarch
imath-3.1.2-1.el9.x86_64
info-6.7-15.el9.x86_64
jasper-libs-2.0.28-3.el9.x86_64
jbig2dec-libs-0.19-7.el9.x86_64
jbigkit-libs-2.1-23.el9.x86_64
langpacks-core-font-en-3.0-16.el9.noarch
latexmk-4.86a-1.el9.noarch
lcms2-2.12-3.el9.x86_64
libICE-1.0.10-8.el9.x86_64
libSM-1.2.3-10.el9.x86_64
libX11-1.7.0-11.el9.x86_64
libX11-common-1.7.0-11.el9.noarch
libXau-1.0.9-8.el9.x86_64
libXaw-1.0.13-19.el9.x86_64
libXcomposite-0.4.5-7.el9.x86_64
libXcursor-1.2.0-7.el9.x86_64
libXdamage-1.1.5-7.el9.x86_64
libXext-1.3.4-8.el9.x86_64
libXfixes-5.0.3-16.el9.x86_64
libXft-2.3.3-8.el9.x86_64
libXi-1.7.10-8.el9.x86_64
libXinerama-1.1.4-10.el9.x86_64
libXmu-1.1.3-8.el9.x86_64
libXpm-3.5.13-10.el9.x86_64
libXrandr-1.5.2-8.el9.x86_64
libXrender-0.9.10-16.el9.x86_64
libXt-1.2.0-6.el9.x86_64
libdatrie-0.2.13-4.el9.x86_64
libfontenc-1.1.3-17.el9.x86_64
libgs-9.54.0-19.el9_6.x86_64
libicu-67.1-10.el9_6.x86_64
libijs-0.35-15.el9.x86_64
libjpeg-turbo-2.0.90-7.el9.x86_64
liblqr-1-0.4.2-19.el9.x86_64
libpaper-1.1.28-4.el9.x86_64
libpng-2:1.6.37-12.el9.x86_64
libraqm-0.8.0-1.el9.x86_64
librsvg2-2.50.7-3.el9.x86_64
librsvg2-tools-2.50.7-3.el9.x86_64
libthai-0.1.28-8.el9.x86_64
libtiff-4.4.0-13.el9.x86_64
libwebp-1.2.0-8.el9_3.x86_64
libwmf-lite-0.2.12-10.el9.x86_64
libxcb-1.13.1-9.el9.x86_64
mailcap-2.1.49-5.el9.noarch
mkfontscale-1.2.1-3.el9.x86_64
nspr-4.35.0-17.el9_2.x86_64
nss-3.101.0-10.el9_2.x86_64
nss-softokn-3.101.0-10.el9_2.x86_64
nss-softokn-freebl-3.101.0-10.el9_2.x86_64
nss-sysinit-3.101.0-10.el9_2.x86_64
nss-util-3.101.0-10.el9_2.x86_64
openexr-libs-3.1.1-3.el9.x86_64
openjpeg2-2.4.0-8.el9.x86_64
pango-1.48.7-3.el9.x86_64
perl-Compress-Raw-Bzip2-2.101-5.el9.x86_64
perl-Compress-Raw-Zlib-2.101-5.el9.x86_64
perl-Data-Dump-1.23-18.el9.noarch
perl-Digest-HMAC-1.03-29.el9.noarch
perl-Digest-SHA-1:6.02-461.el9.x86_64
perl-Encode-Locale-1.05-21.el9.noarch
perl-File-Copy-2.34-481.1.el9_6.noarch
perl-File-Listing-6.14-4.el9.noarch
perl-Filter-2:1.60-4.el9.x86_64
perl-HTML-Parser-3.76-3.el9.x86_64
perl-HTML-Tagset-3.20-47.el9.noarch
perl-HTTP-Cookies-6.10-4.el9.noarch
perl-HTTP-Date-6.05-7.el9.noarch
perl-HTTP-Message-6.29-3.el9.noarch
perl-HTTP-Negotiate-6.01-30.el9.noarch
perl-I18N-Langinfo-0.19-481.1.el9_6.x86_64
perl-IO-Compress-2.102-4.el9.noarch
perl-IO-HTML-1.004-4.el9.noarch
perl-LWP-MediaTypes-6.04-9.el9.noarch
perl-NTLM-1.09-30.el9.noarch
perl-Net-HTTP-6.21-3.el9.noarch
perl-Text-Unidecode-1.30-16.el9.noarch
perl-Time-HiRes-4:1.9764-462.el9.x86_64
perl-TimeDate-1:2.33-6.el9.noarch
perl-Try-Tiny-0.30-13.el9.noarch
perl-Unicode-Normalize-1.27-461.el9.x86_64
perl-WWW-RobotRules-6.02-30.el9.noarch
perl-XML-Parser-2.46-9.0.1.el9.x86_64
perl-XML-XPath-1.44-11.el9.noarch
perl-encoding-4:3.00-462.el9.x86_64
perl-libwww-perl-6.53-4.el9.noarch
perl-locale-1.09-481.1.el9_6.noarch
perl-meta-notation-5.32.1-481.1.el9_6.noarch
perl-open-1.12-481.1.el9_6.noarch
perl-sigtrap-1.09-481.1.el9_6.noarch
pixman-0.40.0-6.el9_3.x86_64
poppler-21.01.0-21.el9.x86_64
poppler-data-0.4.9-9.el9.noarch
python3-pyyaml-5.4.1-6.0.1.el9.x86_64
ruby-3.0.7-165.el9_5.x86_64
ruby-libs-3.0.7-165.el9_5.x86_64
shared-mime-info-2.1-5.el9.x86_64
teckit-2.5.9-8.el9.x86_64
texlive-adobemapping-9:20200406-37.el9.noarch
texlive-ae-9:20200406-26.el9_2.noarch
texlive-algorithms-9:20200406-26.el9_2.noarch
texlive-alphalph-9:20200406-26.el9_2.noarch
texlive-amscls-9:20200406-26.el9_2.noarch
texlive-amsfonts-9:20200406-26.el9_2.noarch
texlive-amsmath-9:20200406-26.el9_2.noarch
texlive-anyfontsize-9:20200406-26.el9_2.noarch
texlive-arphic-9:20200406-26.el9_2.noarch
texlive-ascmac-9:20200406-37.el9.noarch
texlive-atbegshi-9:20200406-26.el9_2.noarch
texlive-attachfile-9:20200406-26.el9_2.noarch
texlive-atveryend-9:20200406-26.el9_2.noarch
texlive-auxhook-9:20200406-26.el9_2.noarch
texlive-avantgar-9:20200406-26.el9_2.noarch
texlive-babel-9:20200406-26.el9_2.noarch
texlive-babel-english-9:20200406-26.el9_2.noarch
texlive-babelbib-9:20200406-26.el9_2.noarch
texlive-base-9:20200406-26.el9_2.noarch
texlive-beamer-9:20200406-26.el9_2.noarch
texlive-bera-9:20200406-26.el9_2.noarch
texlive-beton-9:20200406-26.el9_2.noarch
texlive-bibtex-9:20200406-26.el9_2.x86_64
texlive-bidi-9:20200406-26.el9_2.noarch
texlive-bigintcalc-9:20200406-26.el9_2.noarch
texlive-bitset-9:20200406-26.el9_2.noarch
texlive-bookman-9:20200406-26.el9_2.noarch
texlive-bookmark-9:20200406-26.el9_2.noarch
texlive-booktabs-9:20200406-26.el9_2.noarch
texlive-breakurl-9:20200406-26.el9_2.noarch
texlive-capt-of-9:20200406-26.el9_2.noarch
texlive-caption-9:20200406-26.el9_2.noarch
texlive-carlisle-9:20200406-26.el9_2.noarch
texlive-catchfile-9:20200406-26.el9_2.noarch
texlive-changepage-9:20200406-26.el9_2.noarch
texlive-charter-9:20200406-26.el9_2.noarch
texlive-chngcntr-9:20200406-26.el9_2.noarch
texlive-cjk-9:20200406-26.el9_2.noarch
texlive-cjkpunct-9:20200406-37.el9.noarch
texlive-cm-9:20200406-26.el9_2.noarch
texlive-cm-super-9:20200406-26.el9_2.noarch
texlive-cmap-9:20200406-26.el9_2.noarch
texlive-cmextra-9:20200406-26.el9_2.noarch
texlive-cns-9:20200406-26.el9_2.noarch
texlive-collection-basic-9:20200406-26.el9_2.noarch
texlive-collection-fontsrecommended-9:20200406-26.el9_2.noarch
texlive-collection-latex-9:20200406-26.el9_2.noarch
texlive-colorprofiles-9:20200406-26.el9_2.noarch
texlive-colortbl-9:20200406-26.el9_2.noarch
texlive-convbkmk-9:20200406-37.el9.noarch
texlive-courier-9:20200406-26.el9_2.noarch
texlive-csquotes-9:20200406-26.el9_2.noarch
texlive-ctex-9:20200406-37.el9.noarch
texlive-currfile-9:20200406-26.el9_2.noarch
texlive-dvipdfmx-9:20200406-26.el9_2.x86_64
texlive-dvips-9:20200406-26.el9_2.x86_64
texlive-ec-9:20200406-26.el9_2.noarch
texlive-enctex-9:20200406-26.el9_2.noarch
texlive-enumitem-9:20200406-26.el9_2.noarch
texlive-environ-9:20200406-26.el9_2.noarch
texlive-epstopdf-pkg-9:20200406-26.el9_2.noarch
texlive-eqparbox-9:20200406-26.el9_2.noarch
texlive-eso-pic-9:20200406-26.el9_2.noarch
texlive-etex-9:20200406-26.el9_2.noarch
texlive-etex-pkg-9:20200406-26.el9_2.noarch
texlive-etexcmds-9:20200406-26.el9_2.noarch
texlive-etoolbox-9:20200406-26.el9_2.noarch
texlive-euenc-9:20200406-26.el9_2.noarch
texlive-euler-9:20200406-26.el9_2.noarch
texlive-euro-9:20200406-26.el9_2.noarch
texlive-eurosym-9:20200406-26.el9_2.noarch
texlive-everyhook-9:20200406-37.el9.noarch
texlive-fancybox-9:20200406-26.el9_2.noarch
texlive-fancyhdr-9:20200406-26.el9_2.noarch
texlive-fancyvrb-9:20200406-26.el9_2.noarch
texlive-fandol-9:20200406-37.el9.noarch
texlive-filecontents-9:20200406-26.el9_2.noarch
texlive-filehook-9:20200406-26.el9_2.noarch
texlive-firstaid-9:20200406-37.el9.noarch
texlive-fix2col-9:20200406-26.el9_2.noarch
texlive-float-9:20200406-26.el9_2.noarch
texlive-fncychap-9:20200406-26.el9_2.noarch
texlive-fonts-tlwg-9:20200406-26.el9_2.noarch
texlive-fontspec-9:20200406-26.el9_2.noarch
texlive-footmisc-9:20200406-26.el9_2.noarch
texlive-fp-9:20200406-26.el9_2.noarch
texlive-fpl-9:20200406-26.el9_2.noarch
texlive-framed-9:20200406-26.el9_2.noarch
texlive-garuda-c90-9:20200406-26.el9_2.noarch
texlive-geometry-9:20200406-26.el9_2.noarch
texlive-gettitlestring-9:20200406-26.el9_2.noarch
texlive-glyphlist-9:20200406-26.el9_2.noarch
texlive-graphics-9:20200406-26.el9_2.noarch
texlive-graphics-cfg-9:20200406-26.el9_2.noarch
texlive-graphics-def-9:20200406-26.el9_2.noarch
texlive-grfext-9:20200406-26.el9_2.noarch
texlive-grffile-9:20200406-26.el9_2.noarch
texlive-helvetic-9:20200406-26.el9_2.noarch
texlive-hobsub-9:20200406-26.el9_2.noarch
texlive-hologo-9:20200406-26.el9_2.noarch
texlive-hycolor-9:20200406-26.el9_2.noarch
texlive-hyperref-9:20200406-26.el9_2.noarch
texlive-hyph-utf8-9:20200406-26.el9_2.noarch
texlive-hyphen-base-9:20200406-26.el9_2.noarch
texlive-hyphenex-9:20200406-26.el9_2.noarch
texlive-ifmtarg-9:20200406-26.el9_2.noarch
texlive-ifplatform-9:20200406-26.el9_2.noarch
texlive-iftex-9:20200406-26.el9_2.noarch
texlive-index-9:20200406-26.el9_2.noarch
texlive-infwarerr-9:20200406-26.el9_2.noarch
texlive-intcalc-9:20200406-26.el9_2.noarch
texlive-ipaex-9:20200406-37.el9.noarch
texlive-japanese-otf-9:20200406-37.el9.noarch
texlive-japanese-otf-uptex-9:20200406-37.el9.noarch
texlive-kastrup-9:20200406-26.el9_2.noarch
texlive-knuth-lib-9:20200406-26.el9_2.noarch
texlive-knuth-local-9:20200406-26.el9_2.noarch
texlive-koma-script-9:20200406-26.el9_2.noarch
texlive-kpathsea-9:20200406-26.el9_2.x86_64
texlive-kvdefinekeys-9:20200406-26.el9_2.noarch
texlive-kvoptions-9:20200406-26.el9_2.noarch
texlive-kvsetkeys-9:20200406-26.el9_2.noarch
texlive-l3backend-9:20200406-26.el9_2.noarch
texlive-l3kernel-9:20200406-26.el9_2.noarch
texlive-l3packages-9:20200406-26.el9_2.noarch
texlive-latex-9:20200406-26.el9_2.noarch
texlive-latex-base-dev-9:20200406-37.el9.noarch
texlive-latex-firstaid-dev-9:20200406-37.el9.noarch
texlive-latex-fonts-9:20200406-26.el9_2.noarch
texlive-latexconfig-9:20200406-26.el9_2.noarch
texlive-letltxmacro-9:20200406-26.el9_2.noarch
texlive-lib-9:20200406-26.el9_2.x86_64
texlive-listings-9:20200406-26.el9_2.noarch
texlive-lm-9:20200406-26.el9_2.noarch
texlive-lm-math-9:20200406-26.el9_2.noarch
texlive-ltxcmds-9:20200406-26.el9_2.noarch
texlive-ltxmisc-9:20200406-26.el9_2.noarch
texlive-lua-alt-getopt-9:20200406-26.el9_2.noarch
texlive-luahbtex-9:20200406-26.el9_2.x86_64
texlive-lualatex-math-9:20200406-26.el9_2.noarch
texlive-lualibs-9:20200406-26.el9_2.noarch
texlive-luaotfload-9:20200406-26.el9_2.noarch
texlive-luatex-9:20200406-26.el9_2.x86_64
texlive-luatex85-9:20200406-26.el9_2.noarch
texlive-luatexbase-9:20200406-26.el9_2.noarch
texlive-luatexja-9:20200406-37.el9.noarch
texlive-makecmds-9:20200406-26.el9_2.noarch
texlive-makeindex-9:20200406-26.el9_2.x86_64
texlive-manfnt-font-9:20200406-26.el9_2.noarch
texlive-marginnote-9:20200406-26.el9_2.noarch
texlive-marvosym-9:20200406-26.el9_2.noarch
texlive-mathpazo-9:20200406-26.el9_2.noarch
texlive-mdwtools-9:20200406-26.el9_2.noarch
texlive-memoir-9:20200406-26.el9_2.noarch
texlive-metafont-9:20200406-26.el9_2.x86_64
texlive-mflogo-9:20200406-26.el9_2.noarch
texlive-mflogo-font-9:20200406-26.el9_2.noarch
texlive-mfnfss-9:20200406-26.el9_2.noarch
texlive-mfware-9:20200406-26.el9_2.x86_64
texlive-minitoc-9:20200406-26.el9_2.noarch
texlive-modes-9:20200406-26.el9_2.noarch
texlive-mparhack-9:20200406-26.el9_2.noarch
texlive-mptopdf-9:20200406-26.el9_2.noarch
texlive-ms-9:20200406-26.el9_2.noarch
texlive-multido-9:20200406-26.el9_2.noarch
texlive-multirow-9:20200406-26.el9_2.noarch
texlive-natbib-9:20200406-26.el9_2.noarch
texlive-ncntrsbk-9:20200406-26.el9_2.noarch
texlive-needspace-9:20200406-26.el9_2.noarch
texlive-norasi-c90-9:20200406-26.el9_2.noarch
texlive-notoccite-9:20200406-26.el9_2.noarch
texlive-oberdiek-9:20200406-26.el9_2.noarch
texlive-palatino-9:20200406-26.el9_2.noarch
texlive-paralist-9:20200406-26.el9_2.noarch
texlive-parallel-9:20200406-26.el9_2.noarch
texlive-parskip-9:20200406-26.el9_2.noarch
texlive-pdfcolmk-9:20200406-26.el9_2.noarch
texlive-pdfescape-9:20200406-26.el9_2.noarch
texlive-pdftex-9:20200406-26.el9_2.x86_64
texlive-pdftexcmds-9:20200406-26.el9_2.noarch
texlive-pgf-9:20200406-26.el9_2.noarch
texlive-placeins-9:20200406-26.el9_2.noarch
texlive-plain-9:20200406-26.el9_2.noarch
texlive-platex-9:20200406-37.el9.noarch
texlive-platex-tools-9:20200406-37.el9.noarch
texlive-polyglossia-9:20200406-26.el9_2.noarch
texlive-pslatex-9:20200406-26.el9_2.noarch
texlive-psnfss-9:20200406-26.el9_2.noarch
texlive-pspicture-9:20200406-26.el9_2.noarch
texlive-pst-3d-9:20200406-26.el9_2.noarch
texlive-pst-arrow-9:20200406-26.el9_2.noarch
texlive-pst-coil-9:20200406-26.el9_2.noarch
texlive-pst-eps-9:20200406-26.el9_2.noarch
texlive-pst-fill-9:20200406-26.el9_2.noarch
texlive-pst-grad-9:20200406-26.el9_2.noarch
texlive-pst-math-9:20200406-26.el9_2.noarch
texlive-pst-node-9:20200406-26.el9_2.noarch
texlive-pst-plot-9:20200406-26.el9_2.noarch
texlive-pst-text-9:20200406-26.el9_2.noarch
texlive-pst-tools-9:20200406-26.el9_2.noarch
texlive-pst-tree-9:20200406-26.el9_2.noarch
texlive-pstricks-9:20200406-26.el9_2.noarch
texlive-pstricks-add-9:20200406-26.el9_2.noarch
texlive-ptex-9:20200406-37.el9.x86_64
texlive-ptex-base-9:20200406-37.el9.noarch
texlive-ptex-fonts-9:20200406-37.el9.noarch
texlive-pxfonts-9:20200406-26.el9_2.noarch
texlive-qstest-9:20200406-26.el9_2.noarch
texlive-refcount-9:20200406-26.el9_2.noarch
texlive-rerunfilecheck-9:20200406-26.el9_2.noarch
texlive-rsfs-9:20200406-26.el9_2.noarch
texlive-sansmathaccent-9:20200406-26.el9_2.noarch
texlive-sauerj-9:20200406-26.el9_2.noarch
texlive-setspace-9:20200406-26.el9_2.noarch
texlive-showexpl-9:20200406-26.el9_2.noarch
texlive-soul-9:20200406-26.el9_2.noarch
texlive-stringenc-9:20200406-26.el9_2.noarch
texlive-sttools-9:20200406-37.el9.noarch
texlive-subfig-9:20200406-26.el9_2.noarch
texlive-svn-prov-9:20200406-26.el9_2.noarch
texlive-symbol-9:20200406-26.el9_2.noarch
texlive-tabulary-9:20200406-26.el9_2.noarch
texlive-tex-9:20200406-26.el9_2.x86_64
texlive-tex-gyre-9:20200406-26.el9_2.noarch
texlive-tex-gyre-math-9:20200406-26.el9_2.noarch
texlive-tex-ini-files-9:20200406-26.el9_2.noarch
texlive-texlive-common-doc-9:20200406-26.el9_2.noarch
texlive-texlive-docindex-9:20200406-26.el9_2.noarch
texlive-texlive-en-9:20200406-26.el9_2.noarch
texlive-texlive-msg-translations-9:20200406-26.el9_2.noarch
texlive-texlive-scripts-9:20200406-26.el9_2.noarch
texlive-texlive.infra-9:20200406-26.el9_2.noarch
texlive-threeparttable-9:20200406-26.el9_2.noarch
texlive-thumbpdf-9:20200406-26.el9_2.noarch
texlive-times-9:20200406-26.el9_2.noarch
texlive-tipa-9:20200406-26.el9_2.noarch
texlive-titlesec-9:20200406-26.el9_2.noarch
texlive-tools-9:20200406-26.el9_2.noarch
texlive-translator-9:20200406-26.el9_2.noarch
texlive-trimspaces-9:20200406-26.el9_2.noarch
texlive-ttfutils-9:20200406-37.el9.x86_64
texlive-txfonts-9:20200406-26.el9_2.noarch
texlive-ucs-9:20200406-26.el9_2.noarch
texlive-uhc-9:20200406-26.el9_2.noarch
texlive-ulem-9:20200406-26.el9_2.noarch
texlive-underscore-9:20200406-26.el9_2.noarch
texlive-unicode-data-9:20200406-26.el9_2.noarch
texlive-unicode-math-9:20200406-26.el9_2.noarch
texlive-uniquecounter-9:20200406-26.el9_2.noarch
texlive-updmap-map-9:20200406-26.el9_2.noarch
texlive-uplatex-9:20200406-37.el9.noarch
texlive-upquote-9:20200406-26.el9_2.noarch
texlive-uptex-9:20200406-37.el9.x86_64
texlive-uptex-base-9:20200406-37.el9.noarch
texlive-uptex-fonts-9:20200406-37.el9.noarch
texlive-url-9:20200406-26.el9_2.noarch
texlive-utopia-9:20200406-26.el9_2.noarch
texlive-varwidth-9:20200406-26.el9_2.noarch
texlive-wadalab-9:20200406-26.el9_2.noarch
texlive-wasy-9:20200406-26.el9_2.noarch
texlive-wasy-type1-9:20200406-26.el9_2.noarch
texlive-wasysym-9:20200406-26.el9_2.noarch
texlive-wrapfig-9:20200406-26.el9_2.noarch
texlive-xcjk2uni-9:20200406-37.el9.noarch
texlive-xcolor-9:20200406-26.el9_2.noarch
texlive-xdvi-9:20200406-26.el9_2.x86_64
texlive-xecjk-9:20200406-26.el9_2.noarch
texlive-xetex-9:20200406-26.el9_2.x86_64
texlive-xetexconfig-9:20200406-26.el9_2.noarch
texlive-xifthen-9:20200406-26.el9_2.noarch
texlive-xkeyval-9:20200406-26.el9_2.noarch
texlive-xpinyin-9:20200406-37.el9.noarch
texlive-xunicode-9:20200406-26.el9_2.noarch
texlive-zapfchan-9:20200406-26.el9_2.noarch
texlive-zapfding-9:20200406-26.el9_2.noarch
texlive-zhmetrics-9:20200406-37.el9.noarch
texlive-zhmetrics-uptex-9:20200406-37.el9.noarch
texlive-zhnumber-9:20200406-37.el9.noarch
texlive-zref-9:20200406-26.el9_2.noarch
urw-base35-bookman-fonts-20200910-6.el9.noarch
urw-base35-c059-fonts-20200910-6.el9.noarch
urw-base35-d050000l-fonts-20200910-6.el9.noarch
urw-base35-fonts-20200910-6.el9.noarch
urw-base35-fonts-common-20200910-6.el9.noarch
urw-base35-gothic-fonts-20200910-6.el9.noarch
urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch
urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch
urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch
urw-base35-p052-fonts-20200910-6.el9.noarch
urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch
urw-base35-z003-fonts-20200910-6.el9.noarch
xdg-utils-1.1.3-13.el9_6.noarch
xml-common-0.6.3-58.el9.noarch
xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch
zziplib-0.13.71-11.el9_4.x86_64
Complete!
Additional packages installed: x86_64, 6
Check for docutils with /usr/bin/python3
$ /usr/bin/python3 -c try: import docutils; print(docutils.__version__)
except: pass
Python version: 3.9.21
Detected OS: Oracle Linux Server release 9.6.
Note: RHEL-based distros typically require extra repositories.
For most, enabling epel and crb are enough:
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
Yet, some may have other required repositories. Those commands could be useful:
sudo dnf repolist all
sudo dnf repoquery --available --info <pkgs>
sudo dnf config-manager --set-enabled '*' # enable all - probably not what you want
Sphinx needs to be installed either:
1) via pip/pypi with:
/usr/bin/python3 -m venv sphinx_latest
. sphinx_latest/bin/activate
pip install -r ./Documentation/sphinx/requirements.txt
If you want to exit the virtualenv, you can use:
deactivate
2) As a package with:
sudo dnf install python3-sphinx
Please note that Sphinx currentlys produce false-positive
warnings when the same name is used for more than one type (functions,
structs, enums,...). This is known Sphinx bug. For more details, see:
https://github.com/sphinx-doc/sphinx/pull/8313
All optional dependencies are met.
Can't build as 1 mandatory dependency is missing
Installing section: venv with pip
=================================
$ /usr/bin/python3 -m venv sphinx_latest
$ pip install --no-input -r ./Documentation/sphinx/requirements.txt
Collecting alabaster
Downloading alabaster-0.7.16-py3-none-any.whl (13 kB)
Collecting Sphinx
Downloading sphinx-7.4.7-py3-none-any.whl (3.4 MB)
Collecting pyyaml
Downloading PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (737 kB)
Collecting sphinxcontrib-htmlhelp>=2.0.0
Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB)
Collecting babel>=2.13
Downloading babel-2.17.0-py3-none-any.whl (10.2 MB)
Collecting packaging>=23.0
Downloading packaging-25.0-py3-none-any.whl (66 kB)
Collecting Pygments>=2.17
Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB)
Collecting sphinxcontrib-qthelp
Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB)
Collecting snowballstemmer>=2.2
Downloading snowballstemmer-3.0.1-py3-none-any.whl (103 kB)
Collecting importlib-metadata>=6.0
Downloading importlib_metadata-8.7.0-py3-none-any.whl (27 kB)
Collecting sphinxcontrib-applehelp
Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB)
Collecting sphinxcontrib-serializinghtml>=1.1.9
Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB)
Collecting sphinxcontrib-devhelp
Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB)
Collecting requests>=2.30.0
Downloading requests-2.32.4-py3-none-any.whl (64 kB)
Collecting docutils<0.22,>=0.20
Downloading docutils-0.21.2-py3-none-any.whl (587 kB)
Collecting Jinja2>=3.1
Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
Collecting imagesize>=1.3
Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB)
Collecting sphinxcontrib-jsmath
Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
Collecting tomli>=2
Downloading tomli-2.2.1-py3-none-any.whl (14 kB)
Collecting zipp>=3.20
Downloading zipp-3.23.0-py3-none-any.whl (10 kB)
Collecting MarkupSafe>=2.0
Downloading MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)
Collecting charset_normalizer<4,>=2
Downloading charset_normalizer-3.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (152 kB)
Collecting certifi>=2017.4.17
Downloading certifi-2025.8.3-py3-none-any.whl (161 kB)
Collecting urllib3<3,>=1.21.1
Downloading urllib3-2.5.0-py3-none-any.whl (129 kB)
Collecting idna<4,>=2.5
Downloading idna-3.10-py3-none-any.whl (70 kB)
Installing collected packages: zipp, urllib3, MarkupSafe, idna, charset-normalizer, certifi, tomli, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, requests, Pygments, packaging, Jinja2, importlib-metadata, imagesize, docutils, babel, alabaster, Sphinx, pyyaml
Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.2 Pygments-2.19.2 Sphinx-7.4.7 alabaster-0.7.16 babel-2.17.0 certifi-2025.8.3 charset-normalizer-3.4.3 docutils-0.21.2 idna-3.10 imagesize-1.4.1 importlib-metadata-8.7.0 packaging-25.0 pyyaml-6.0.2 requests-2.32.4 snowballstemmer-3.0.1 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0 tomli-2.2.1 urllib3-2.5.0 zipp-3.23.0
Additional packages installed: Jinja2-3, 1, 6, MarkupSafe-3, 0, 2, Pygments-2, 19, 2, Sphinx-7, 4, 7, alabaster-0, 7, 16, babel-2, 17, 0, certifi-2025, 8, 3, charset-normalizer-3, 4, 3, docutils-0, 21, 2, idna-3, 10, imagesize-1, 4, 1, importlib-metadata-8, 7, 0, packaging-25, 0, pyyaml-6, 0, 2, requests-2, 32, 4, snowballstemmer-3, 0, 1, sphinxcontrib-applehelp-2, 0, 0, sphinxcontrib-devhelp-2, 0, 0, sphinxcontrib-htmlhelp-2, 1, 0, sphinxcontrib-jsmath-1, 0, 1, sphinxcontrib-qthelp-2, 0, 0, sphinxcontrib-serializinghtml-2, 0, 0, tomli-2, 2, 1, urllib3-2, 5, 0, zipp-3, 23, 0
Installing section: venv with pip
=================================
$ /usr/bin/python3 -m venv sphinx_latest
$ pip install --no-input -r ./Documentation/sphinx/requirements.txt
Requirement already satisfied: alabaster in ./sphinx_latest/lib/python3.9/site-packages (from -r ./Documentation/sphinx/requirements.txt (line 2)) (0.7.16)
Requirement already satisfied: Sphinx in ./sphinx_latest/lib/python3.9/site-packages (from -r ./Documentation/sphinx/requirements.txt (line 3)) (7.4.7)
Requirement already satisfied: pyyaml in ./sphinx_latest/lib/python3.9/site-packages (from -r ./Documentation/sphinx/requirements.txt (line 4)) (6.0.2)
Requirement already satisfied: Pygments>=2.17 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.19.2)
Requirement already satisfied: Jinja2>=3.1 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (3.1.6)
Requirement already satisfied: babel>=2.13 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.17.0)
Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.0.0)
Requirement already satisfied: sphinxcontrib-devhelp in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.0.0)
Requirement already satisfied: tomli>=2 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.2.1)
Requirement already satisfied: sphinxcontrib-qthelp in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.0.0)
Requirement already satisfied: importlib-metadata>=6.0 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (8.7.0)
Requirement already satisfied: snowballstemmer>=2.2 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (3.0.1)
Requirement already satisfied: sphinxcontrib-applehelp in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.0.0)
Requirement already satisfied: imagesize>=1.3 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (1.4.1)
Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.1.0)
Requirement already satisfied: requests>=2.30.0 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.32.4)
Requirement already satisfied: packaging>=23.0 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (25.0)
Requirement already satisfied: docutils<0.22,>=0.20 in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (0.21.2)
Requirement already satisfied: sphinxcontrib-jsmath in ./sphinx_latest/lib/python3.9/site-packages (from Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (1.0.1)
Requirement already satisfied: zipp>=3.20 in ./sphinx_latest/lib/python3.9/site-packages (from importlib-metadata>=6.0->Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (3.23.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./sphinx_latest/lib/python3.9/site-packages (from Jinja2>=3.1->Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (3.0.2)
Requirement already satisfied: certifi>=2017.4.17 in ./sphinx_latest/lib/python3.9/site-packages (from requests>=2.30.0->Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2025.8.3)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./sphinx_latest/lib/python3.9/site-packages (from requests>=2.30.0->Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (2.5.0)
Requirement already satisfied: charset_normalizer<4,>=2 in ./sphinx_latest/lib/python3.9/site-packages (from requests>=2.30.0->Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (3.4.3)
Requirement already satisfied: idna<4,>=2.5 in ./sphinx_latest/lib/python3.9/site-packages (from requests>=2.30.0->Sphinx->-r ./Documentation/sphinx/requirements.txt (line 3)) (3.10)
Check for docutils on venv with sphinx_latest/bin/python
$ sphinx_latest/bin/python -c try: import docutils; print(docutils.__version__)
except: pass
0.21.2
$ sphinx-build --version
sphinx-build 7.4.7
Installing section: package_install with dnf
============================================
$ dnf install -y --setopt=install_weak_deps=False python3-sphinx
Last metadata expiration check: 0:02:20 ago on Mon Aug 18 07:33:55 2025.
Dependencies resolved.
================================================================================================
Package Arch Version Repository Size
================================================================================================
Installing:
python3-sphinx noarch 1:3.4.3-8.el9 ol9_codeready_builder 2.9 M
Installing dependencies:
python3-babel noarch 2.9.1-2.el9 ol9_appstream 6.6 M
python3-chardet noarch 4.0.0-5.0.1.el9 base 350 k
python3-docutils noarch 0.16-6.el9 ol9_appstream 2.0 M
python3-idna noarch 2.10-7.0.1.el9_4.1 base 129 k
python3-imagesize noarch 1.2.0-6.el9 ol9_codeready_builder 27 k
python3-jinja2 noarch 2.11.3-8.el9_5 ol9_appstream 329 k
python3-markupsafe x86_64 1.1.1-12.el9 ol9_appstream 52 k
python3-packaging noarch 20.9-5.0.1.el9 ol9_appstream 117 k
python3-pygments noarch 2.7.4-4.el9 ol9_codeready_builder 2.6 M
python3-pyparsing noarch 2.4.7-9.el9 base 163 k
python3-pysocks noarch 1.7.1-12.0.1.el9 base 46 k
python3-pytz noarch 2021.1-5.el9 ol9_appstream 73 k
python3-requests noarch 2.25.1-10.el9_6 latest 179 k
python3-setuptools noarch 53.0.0-13.el9_6.1 latest 1.3 M
python3-snowballstemmer noarch 1.9.0-10.el9 ol9_codeready_builder 231 k
python3-sphinx-theme-alabaster noarch 0.7.12-13.el9 ol9_codeready_builder 48 k
python3-sphinxcontrib-applehelp noarch 1.0.2-5.el9 ol9_codeready_builder 103 k
python3-sphinxcontrib-devhelp noarch 1.0.2-5.el9 ol9_codeready_builder 95 k
python3-sphinxcontrib-htmlhelp noarch 1.0.3-6.el9 ol9_codeready_builder 109 k
python3-sphinxcontrib-jsmath noarch 1.0.1-12.el9 ol9_codeready_builder 33 k
python3-sphinxcontrib-qthelp noarch 1.0.3-5.el9 ol9_codeready_builder 101 k
python3-sphinxcontrib-serializinghtml noarch 1.1.4-5.el9 ol9_codeready_builder 103 k
python3-urllib3 noarch 1.26.5-6.el9 base 310 k
Transaction Summary
================================================================================================
Install 24 Packages
Total download size: 18 M
Installed size: 61 M
Downloading Packages:
(1/24): python3-idna-2.10-7.0.1.el9_4.1.noarch. 831 kB/s | 129 kB 00:00
(2/24): python3-pyparsing-2.4.7-9.el9.noarch.rp 901 kB/s | 163 kB 00:00
(3/24): python3-chardet-4.0.0-5.0.1.el9.noarch. 1.5 MB/s | 350 kB 00:00
(4/24): python3-pysocks-1.7.1-12.0.1.el9.noarch 611 kB/s | 46 kB 00:00
(5/24): python3-requests-2.25.1-10.el9_6.noarch 7.3 MB/s | 179 kB 00:00
(6/24): python3-urllib3-1.26.5-6.el9.noarch.rpm 3.9 MB/s | 310 kB 00:00
(7/24): python3-setuptools-53.0.0-13.el9_6.1.no 15 MB/s | 1.3 MB 00:00
(8/24): python3-docutils-0.16-6.el9.noarch.rpm 20 MB/s | 2.0 MB 00:00
(9/24): python3-babel-2.9.1-2.el9.noarch.rpm 37 MB/s | 6.6 MB 00:00
(10/24): python3-jinja2-2.11.3-8.el9_5.noarch.r 2.3 MB/s | 329 kB 00:00
(11/24): python3-packaging-20.9-5.0.1.el9.noarc 1.7 MB/s | 117 kB 00:00
(12/24): python3-pytz-2021.1-5.el9.noarch.rpm 1.6 MB/s | 73 kB 00:00
(13/24): python3-markupsafe-1.1.1-12.el9.x86_64 304 kB/s | 52 kB 00:00
(14/24): python3-snowballstemmer-1.9.0-10.el9.n 3.9 MB/s | 231 kB 00:00
(15/24): python3-pygments-2.7.4-4.el9.noarch.rp 25 MB/s | 2.6 MB 00:00
(16/24): python3-imagesize-1.2.0-6.el9.noarch.r 214 kB/s | 27 kB 00:00
(17/24): python3-sphinx-theme-alabaster-0.7.12- 939 kB/s | 48 kB 00:00
(18/24): python3-sphinxcontrib-devhelp-1.0.2-5. 1.9 MB/s | 95 kB 00:00
(19/24): python3-sphinx-3.4.3-8.el9.noarch.rpm 23 MB/s | 2.9 MB 00:00
(20/24): python3-sphinxcontrib-htmlhelp-1.0.3-6 1.4 MB/s | 109 kB 00:00
(21/24): python3-sphinxcontrib-jsmath-1.0.1-12. 412 kB/s | 33 kB 00:00
(22/24): python3-sphinxcontrib-serializinghtml- 1.7 MB/s | 103 kB 00:00
(23/24): python3-sphinxcontrib-qthelp-1.0.3-5.e 1.2 MB/s | 101 kB 00:00
(24/24): python3-sphinxcontrib-applehelp-1.0.2- 51 kB/s | 103 kB 00:02
--------------------------------------------------------------------------------
Total 6.8 MB/s | 18 MB 00:02
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-setuptools-53.0.0-13.el9_6.1.noarch 1/24
Installing : python3-idna-2.10-7.0.1.el9_4.1.noarch 2/24
Installing : python3-sphinxcontrib-serializinghtml-1.1.4-5.el9. 3/24
Installing : python3-sphinxcontrib-qthelp-1.0.3-5.el9.noarch 4/24
Installing : python3-sphinxcontrib-jsmath-1.0.1-12.el9.noarch 5/24
Installing : python3-sphinxcontrib-htmlhelp-1.0.3-6.el9.noarch 6/24
Installing : python3-sphinxcontrib-devhelp-1.0.2-5.el9.noarch 7/24
Installing : python3-sphinxcontrib-applehelp-1.0.2-5.el9.noarch 8/24
Installing : python3-sphinx-theme-alabaster-0.7.12-13.el9.noarc 9/24
Installing : python3-snowballstemmer-1.9.0-10.el9.noarch 10/24
Installing : python3-pygments-2.7.4-4.el9.noarch 11/24
Installing : python3-imagesize-1.2.0-6.el9.noarch 12/24
Installing : python3-pytz-2021.1-5.el9.noarch 13/24
Installing : python3-babel-2.9.1-2.el9.noarch 14/24
Installing : python3-markupsafe-1.1.1-12.el9.x86_64 15/24
Installing : python3-jinja2-2.11.3-8.el9_5.noarch 16/24
Installing : python3-docutils-0.16-6.el9.noarch 17/24
Installing : python3-pysocks-1.7.1-12.0.1.el9.noarch 18/24
Installing : python3-urllib3-1.26.5-6.el9.noarch 19/24
Installing : python3-pyparsing-2.4.7-9.el9.noarch 20/24
Installing : python3-packaging-20.9-5.0.1.el9.noarch 21/24
Installing : python3-chardet-4.0.0-5.0.1.el9.noarch 22/24
Installing : python3-requests-2.25.1-10.el9_6.noarch 23/24
Installing : python3-sphinx-1:3.4.3-8.el9.noarch 24/24
Running scriptlet: python3-sphinx-1:3.4.3-8.el9.noarch 24/24
Verifying : python3-chardet-4.0.0-5.0.1.el9.noarch 1/24
Verifying : python3-idna-2.10-7.0.1.el9_4.1.noarch 2/24
Verifying : python3-pyparsing-2.4.7-9.el9.noarch 3/24
Verifying : python3-pysocks-1.7.1-12.0.1.el9.noarch 4/24
Verifying : python3-urllib3-1.26.5-6.el9.noarch 5/24
Verifying : python3-requests-2.25.1-10.el9_6.noarch 6/24
Verifying : python3-setuptools-53.0.0-13.el9_6.1.noarch 7/24
Verifying : python3-babel-2.9.1-2.el9.noarch 8/24
Verifying : python3-docutils-0.16-6.el9.noarch 9/24
Verifying : python3-jinja2-2.11.3-8.el9_5.noarch 10/24
Verifying : python3-markupsafe-1.1.1-12.el9.x86_64 11/24
Verifying : python3-packaging-20.9-5.0.1.el9.noarch 12/24
Verifying : python3-pytz-2021.1-5.el9.noarch 13/24
Verifying : python3-imagesize-1.2.0-6.el9.noarch 14/24
Verifying : python3-pygments-2.7.4-4.el9.noarch 15/24
Verifying : python3-snowballstemmer-1.9.0-10.el9.noarch 16/24
Verifying : python3-sphinx-1:3.4.3-8.el9.noarch 17/24
Verifying : python3-sphinx-theme-alabaster-0.7.12-13.el9.noarc 18/24
Verifying : python3-sphinxcontrib-applehelp-1.0.2-5.el9.noarch 19/24
Verifying : python3-sphinxcontrib-devhelp-1.0.2-5.el9.noarch 20/24
Verifying : python3-sphinxcontrib-htmlhelp-1.0.3-6.el9.noarch 21/24
Verifying : python3-sphinxcontrib-jsmath-1.0.1-12.el9.noarch 22/24
Verifying : python3-sphinxcontrib-qthelp-1.0.3-5.el9.noarch 23/24
Verifying : python3-sphinxcontrib-serializinghtml-1.1.4-5.el9. 24/24
Installed:
python3-babel-2.9.1-2.el9.noarch
python3-chardet-4.0.0-5.0.1.el9.noarch
python3-docutils-0.16-6.el9.noarch
python3-idna-2.10-7.0.1.el9_4.1.noarch
python3-imagesize-1.2.0-6.el9.noarch
python3-jinja2-2.11.3-8.el9_5.noarch
python3-markupsafe-1.1.1-12.el9.x86_64
python3-packaging-20.9-5.0.1.el9.noarch
python3-pygments-2.7.4-4.el9.noarch
python3-pyparsing-2.4.7-9.el9.noarch
python3-pysocks-1.7.1-12.0.1.el9.noarch
python3-pytz-2021.1-5.el9.noarch
python3-requests-2.25.1-10.el9_6.noarch
python3-setuptools-53.0.0-13.el9_6.1.noarch
python3-snowballstemmer-1.9.0-10.el9.noarch
python3-sphinx-1:3.4.3-8.el9.noarch
python3-sphinx-theme-alabaster-0.7.12-13.el9.noarch
python3-sphinxcontrib-applehelp-1.0.2-5.el9.noarch
python3-sphinxcontrib-devhelp-1.0.2-5.el9.noarch
python3-sphinxcontrib-htmlhelp-1.0.3-6.el9.noarch
python3-sphinxcontrib-jsmath-1.0.1-12.el9.noarch
python3-sphinxcontrib-qthelp-1.0.3-5.el9.noarch
python3-sphinxcontrib-serializinghtml-1.1.4-5.el9.noarch
python3-urllib3-1.26.5-6.el9.noarch
Complete!
Additional packages installed: noarch, 1
Installing section: package_install with dnf
============================================
$ dnf install -y --setopt=install_weak_deps=False python3-sphinx
Last metadata expiration check: 0:02:25 ago on Mon Aug 18 07:33:55 2025.
Package python3-sphinx-1:3.4.3-8.el9.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Check for docutils with /usr/bin/python3
$ /usr/bin/python3 -c try: import docutils; print(docutils.__version__)
except: pass
0.16
$ sphinx-build --version
sphinx-build 3.4.3
Default subset: Oracle Linux Server release 9.6
$ hostname
Installation commands processed
TAP version 14
1..1
# Subtest: Oracle Linux Server release 9.6
1..7
ok 1 - OS detection: Oracle Linux Server release 9.6
ok 2 - System packages: Packages installed
ok 3 - Sphinx on venv: Sphinx Sphinx 7.4.7
ok 4 - Sphinx package: Sphinx Sphinx 3.4.3
ok 5 - Clean documentation: Build time: 0:00, return code: 0
ok 6 - Build HTML documentation: Build time: 3:57, return code: 0
ok 7 - Build PDF documentation: Build time: 10:09, return code: 0
# Subtest: PDF docs
1..65
ok 1 - dev-tools: pdf/dev-tools.pdf
ok 2 - tools: pdf/tools.pdf
ok 3 - filesystems: pdf/filesystems.pdf
ok 4 - w1: pdf/w1.pdf
ok 5 - maintainer: pdf/maintainer.pdf
ok 6 - process: pdf/process.pdf
ok 7 - isdn: pdf/isdn.pdf
ok 8 - fault-injection: pdf/fault-injection.pdf
ok 9 - iio: pdf/iio.pdf
ok 10 - scheduler: pdf/scheduler.pdf
ok 11 - staging: pdf/staging.pdf
ok 12 - fpga: pdf/fpga.pdf
ok 13 - power: pdf/power.pdf
ok 14 - leds: pdf/leds.pdf
ok 15 - edac: pdf/edac.pdf
ok 16 - PCI: pdf/PCI.pdf
ok 17 - firmware-guide: pdf/firmware-guide.pdf
ok 18 - cpu-freq: pdf/cpu-freq.pdf
ok 19 - mhi: pdf/mhi.pdf
ok 20 - wmi: pdf/wmi.pdf
ok 21 - timers: pdf/timers.pdf
ok 22 - accel: pdf/accel.pdf
ok 23 - hid: pdf/hid.pdf
ok 24 - userspace-api: pdf/userspace-api.pdf
ok 25 - spi: pdf/spi.pdf
ok 26 - networking: pdf/networking.pdf
ok 27 - virt: pdf/virt.pdf
ok 28 - nvme: pdf/nvme.pdf
ok 29 - translations: pdf/translations.pdf
ok 30 - input: pdf/input.pdf
ok 31 - tee: pdf/tee.pdf
ok 32 - doc-guide: pdf/doc-guide.pdf
ok 33 - cdrom: pdf/cdrom.pdf
ok 34 - gpu: pdf/gpu.pdf
ok 35 - i2c: pdf/i2c.pdf
ok 36 - RCU: pdf/RCU.pdf
ok 37 - watchdog: pdf/watchdog.pdf
ok 38 - usb: pdf/usb.pdf
ok 39 - rust: pdf/rust.pdf
ok 40 - crypto: pdf/crypto.pdf
ok 41 - kbuild: pdf/kbuild.pdf
ok 42 - livepatch: pdf/livepatch.pdf
ok 43 - mm: pdf/mm.pdf
ok 44 - locking: pdf/locking.pdf
ok 45 - infiniband: pdf/infiniband.pdf
ok 46 - driver-api: pdf/driver-api.pdf
ok 47 - bpf: pdf/bpf.pdf
ok 48 - devicetree: pdf/devicetree.pdf
ok 49 - block: pdf/block.pdf
ok 50 - target: pdf/target.pdf
ok 51 - arch: pdf/arch.pdf
ok 52 - pcmcia: pdf/pcmcia.pdf
ok 53 - scsi: pdf/scsi.pdf
ok 54 - netlabel: pdf/netlabel.pdf
ok 55 - sound: pdf/sound.pdf
ok 56 - security: pdf/security.pdf
ok 57 - accounting: pdf/accounting.pdf
ok 58 - admin-guide: pdf/admin-guide.pdf
ok 59 - core-api: pdf/core-api.pdf
ok 60 - fb: pdf/fb.pdf
ok 61 - peci: pdf/peci.pdf
ok 62 - trace: pdf/trace.pdf
ok 63 - misc-devices: pdf/misc-devices.pdf
ok 64 - kernel-hacking: pdf/kernel-hacking.pdf
ok 65 - hwmon: pdf/hwmon.pdf
ok 1 - Oracle Linux Server release 9.6
-
Here, I dropped the full logs for html and pdf, as they were a way too bigger>
That's the end of the pdfdocs build target:
Summary
=======
Oracle Linux Server release 9.6:
OS detection : PASSED: Oracle Linux Server release 9.6
System packages : PASSED: Packages installed
Sphinx on venv : PASSED: Sphinx Sphinx 7.4.7
Sphinx package : PASSED: Sphinx Sphinx 3.4.3
Clean documentation : PASSED: Build time: 0:00, return code: 0
Build HTML documentation : PASSED: Build time: 3:57, return code: 0
Build PDF documentation : PASSED: Build time: 10:09, return code: 0
PDF docs:
dev-tools : PASSED: pdf/dev-tools.pdf
tools : PASSED: pdf/tools.pdf
filesystems : PASSED: pdf/filesystems.pdf
w1 : PASSED: pdf/w1.pdf
maintainer : PASSED: pdf/maintainer.pdf
process : PASSED: pdf/process.pdf
isdn : PASSED: pdf/isdn.pdf
fault-injection : PASSED: pdf/fault-injection.pdf
iio : PASSED: pdf/iio.pdf
scheduler : PASSED: pdf/scheduler.pdf
staging : PASSED: pdf/staging.pdf
fpga : PASSED: pdf/fpga.pdf
power : PASSED: pdf/power.pdf
leds : PASSED: pdf/leds.pdf
edac : PASSED: pdf/edac.pdf
PCI : PASSED: pdf/PCI.pdf
firmware-guide : PASSED: pdf/firmware-guide.pdf
cpu-freq : PASSED: pdf/cpu-freq.pdf
mhi : PASSED: pdf/mhi.pdf
wmi : PASSED: pdf/wmi.pdf
timers : PASSED: pdf/timers.pdf
accel : PASSED: pdf/accel.pdf
hid : PASSED: pdf/hid.pdf
userspace-api : PASSED: pdf/userspace-api.pdf
spi : PASSED: pdf/spi.pdf
networking : PASSED: pdf/networking.pdf
virt : PASSED: pdf/virt.pdf
nvme : PASSED: pdf/nvme.pdf
translations : PASSED: pdf/translations.pdf
input : PASSED: pdf/input.pdf
tee : PASSED: pdf/tee.pdf
doc-guide : PASSED: pdf/doc-guide.pdf
cdrom : PASSED: pdf/cdrom.pdf
gpu : PASSED: pdf/gpu.pdf
i2c : PASSED: pdf/i2c.pdf
RCU : PASSED: pdf/RCU.pdf
watchdog : PASSED: pdf/watchdog.pdf
usb : PASSED: pdf/usb.pdf
rust : PASSED: pdf/rust.pdf
crypto : PASSED: pdf/crypto.pdf
kbuild : PASSED: pdf/kbuild.pdf
livepatch : PASSED: pdf/livepatch.pdf
mm : PASSED: pdf/mm.pdf
locking : PASSED: pdf/locking.pdf
infiniband : PASSED: pdf/infiniband.pdf
driver-api : PASSED: pdf/driver-api.pdf
bpf : PASSED: pdf/bpf.pdf
devicetree : PASSED: pdf/devicetree.pdf
block : PASSED: pdf/block.pdf
target : PASSED: pdf/target.pdf
arch : PASSED: pdf/arch.pdf
pcmcia : PASSED: pdf/pcmcia.pdf
scsi : PASSED: pdf/scsi.pdf
netlabel : PASSED: pdf/netlabel.pdf
sound : PASSED: pdf/sound.pdf
security : PASSED: pdf/security.pdf
accounting : PASSED: pdf/accounting.pdf
admin-guide : PASSED: pdf/admin-guide.pdf
core-api : PASSED: pdf/core-api.pdf
fb : PASSED: pdf/fb.pdf
peci : PASSED: pdf/peci.pdf
trace : PASSED: pdf/trace.pdf
misc-devices : PASSED: pdf/misc-devices.pdf
kernel-hacking : PASSED: pdf/kernel-hacking.pdf
hwmon : PASSED: pdf/hwmon.pdf
/root/sphinx_latest/bin/python3 sphinx_latest/bin/sphinx-build -j4 -b latex -c /root/Documentation -D latex_elements.papersize=a4paper -d /root/Documentation/output/.doctrees -D kerneldoc_bin=scripts/kernel-doc.py -D version=6.17.0-rc1 -D release= -D kerne
ldoc_srctree=. /root/Documentation /root/Documentation/output/latex
Summary
=======
dev-tools : pdf/dev-tools.pdf
tools : pdf/tools.pdf
filesystems : pdf/filesystems.pdf
w1 : pdf/w1.pdf
maintainer : pdf/maintainer.pdf
process : pdf/process.pdf
isdn : pdf/isdn.pdf
fault-injection: pdf/fault-injection.pdf
iio : pdf/iio.pdf
scheduler : pdf/scheduler.pdf
staging : pdf/staging.pdf
fpga : pdf/fpga.pdf
power : pdf/power.pdf
leds : pdf/leds.pdf
edac : pdf/edac.pdf
PCI : pdf/PCI.pdf
firmware-guide : pdf/firmware-guide.pdf
cpu-freq : pdf/cpu-freq.pdf
mhi : pdf/mhi.pdf
wmi : pdf/wmi.pdf
timers : pdf/timers.pdf
accel : pdf/accel.pdf
hid : pdf/hid.pdf
userspace-api : pdf/userspace-api.pdf
spi : pdf/spi.pdf
networking : pdf/networking.pdf
virt : pdf/virt.pdf
nvme : pdf/nvme.pdf
translations : pdf/translations.pdf
input : pdf/input.pdf
tee : pdf/tee.pdf
doc-guide : pdf/doc-guide.pdf
cdrom : pdf/cdrom.pdf
gpu : pdf/gpu.pdf
i2c : pdf/i2c.pdf
RCU : pdf/RCU.pdf
watchdog : pdf/watchdog.pdf
usb : pdf/usb.pdf
rust : pdf/rust.pdf
crypto : pdf/crypto.pdf
kbuild : pdf/kbuild.pdf
livepatch : pdf/livepatch.pdf
mm : pdf/mm.pdf
locking : pdf/locking.pdf
infiniband : pdf/infiniband.pdf
driver-api : pdf/driver-api.pdf
bpf : pdf/bpf.pdf
devicetree : pdf/devicetree.pdf
block : pdf/block.pdf
target : pdf/target.pdf
arch : pdf/arch.pdf
pcmcia : pdf/pcmcia.pdf
scsi : pdf/scsi.pdf
netlabel : pdf/netlabel.pdf
sound : pdf/sound.pdf
security : pdf/security.pdf
accounting : pdf/accounting.pdf
admin-guide : pdf/admin-guide.pdf
core-api : pdf/core-api.pdf
fb : pdf/fb.pdf
peci : pdf/peci.pdf
trace : pdf/trace.pdf
misc-devices : pdf/misc-devices.pdf
kernel-hacking : pdf/kernel-hacking.pdf
hwmon : pdf/hwmon.pdf
All PDF files were built.
1 of 1 validate commands succeeded
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-18 0:44 ` Akira Yokosawa
@ 2025-08-18 9:42 ` Mauro Carvalho Chehab
2025-08-18 10:06 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-18 9:42 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: corbet, linux-doc, linux-kernel
Em Mon, 18 Aug 2025 09:44:39 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> On Mon, 18 Aug 2025 01:07:24 +0900, Akira Yokosawa wrote:
> [...]
>
> >
> > Ah, I have finally understood what 5/11 is trying to do.
> >
> > Its changelog mainly talks about an issue you saw after adding options
> > to xindy in that same commit, and you added
> >
> > \newfontfamily\headingfont{DejaVu Serif}
> >
> > to resolve it.
>
> Sidenote:
>
> It looks like texlive-xindy is not available for RHEL based distros.
On several rpm-based distros, extra repositories are needed.
So, if you take a look at rpmfind:
https://rpmfind.net/linux/rpm2html/search.php?query=python3-sphinx
For the limited set of distros supported there, you'll see that sphinx-build
can either be at:
- main distro repos;
- CRB;
- Powertools
But this is only a fraction of the problem, as there are several
exceptions. For instance, RHEL8 from "redhat/ubi8" docker container(*)
sounds to be an official vendor-provided image.
(*) https://hub.docker.com/r/redhat/ubi8
Yet, if you use it and try to install sphinx-build:
# dnf install python3-sphinx
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Last metadata expiration check: 21:10:22 ago on Sun Aug 17 11:30:23 2025.
No match for argument: python3-sphinx
Error: Unable to find a match: python3-sphinx
It won't work, because repo management in this case requires to setup
a paywall protected procedure.
> That means, you will need to ask EPEL to provide it.
> Otherwise, you are obsoleting those distros for pdfdocs build
> (under the confinement of "distro packages only").
Recommending a repository setup for rpm distros is complex. When
I wrote sphinx-pre-install, I opted to keep such setup out of it.
The rationale is that the ones using such distros should know
better and may require a paid subscription.
With the exception of rpmfusion on Fedora, where one needs to first
download a RPM file from some site, for most distros, the extra
needed repositories are already installed or can be installed from
a package provided at the main repository. Once downloaded,
all it takes is to enable it.
For instance, to get what is needed to build both html and pdf on
RockyLinux, one needs to install a distro package:
dnf install -y epel-release
Which adds extra repositories to /etc/yum.repos.d/.
Then, either use config-manager:
# change "enable" flag from /etc/yum.repos.d/ repos
dnf install 'dnf-command(config-manager)'
dnf config-manager --set-enabled powertools appstream epel
or pass an extra option to enable the repo(s) during install:
sudo dnf --enablrepo=powertools --enablrepo=appstream --enablrepo=epel install -y python3-sphinx {other packages}
Now, sphinx-pre-install can later be improved to also contain
repo-management instructions but this is out of the scope of this
series (and I'm not sure if it is worth adding it there).
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-18 9:42 ` Mauro Carvalho Chehab
@ 2025-08-18 10:06 ` Akira Yokosawa
2025-08-18 11:35 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-18 10:06 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: corbet, linux-doc, linux-kernel, Akira Yokosawa
On Mon, 18 Aug 2025 11:42:20 +0200, Mauro Carvalho Chehab wrote:
> Em Mon, 18 Aug 2025 09:44:39 +0900
> Akira Yokosawa <akiyks@gmail.com> escreveu:
>> Sidenote:
>>
>> It looks like texlive-xindy is not available for RHEL based distros.
>
> On several rpm-based distros, extra repositories are needed.
>
> So, if you take a look at rpmfind:
> https://rpmfind.net/linux/rpm2html/search.php?query=python3-sphinx
No, I'm talking about texlive-xindy.
https://rpmfind.net/linux/rpm2html/search.php?query=texlive-xindy
has RPMs for fedora 41/42/rawhide only.
How do you install xindy under AlmaLinux release 9.6 (Sage Margay),
Amazon Linux release 2023 (Amazon Linux), CentOS Stream release 9,
and the likes?
Thanks,
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-18 10:06 ` Akira Yokosawa
@ 2025-08-18 11:35 ` Mauro Carvalho Chehab
2025-08-18 12:00 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-18 11:35 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: corbet, linux-doc, linux-kernel
Em Mon, 18 Aug 2025 19:06:03 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> On Mon, 18 Aug 2025 11:42:20 +0200, Mauro Carvalho Chehab wrote:
> > Em Mon, 18 Aug 2025 09:44:39 +0900
> > Akira Yokosawa <akiyks@gmail.com> escreveu:
> >> Sidenote:
> >>
> >> It looks like texlive-xindy is not available for RHEL based distros.
> >
> > On several rpm-based distros, extra repositories are needed.
> >
> > So, if you take a look at rpmfind:
> > https://rpmfind.net/linux/rpm2html/search.php?query=python3-sphinx
>
> No, I'm talking about texlive-xindy.
>
> https://rpmfind.net/linux/rpm2html/search.php?query=texlive-xindy
>
> has RPMs for fedora 41/42/rawhide only.
>
> How do you install xindy under AlmaLinux release 9.6 (Sage Margay),
> Amazon Linux release 2023 (Amazon Linux), CentOS Stream release 9,
> and the likes?
I didn't install it there.
Yet, on some distros it seems that this is packaged together with
a texlive collection package and it is called during pdf build.
This was also causing font issues. So, I added an option at
latex_elements to ensure that, if used, it will request UTF-8 fonts:
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
"papersize": "a4paper",
"passoptionstopackages": dedent(r"""
\PassOptionsToPackage{svgnames}{xcolor}
% Avoid encoding troubles when creating indexes
\PassOptionsToPackage{xindy}{language=english,codepage=utf8,noautomatic}
"""),
I just built manually on almalinux. There, all pdfs built fine:
<snip>
Summary
=======
dev-tools : pdf/dev-tools.pdf
tools : pdf/tools.pdf
filesystems : pdf/filesystems.pdf
w1 : pdf/w1.pdf
maintainer : pdf/maintainer.pdf
process : pdf/process.pdf
isdn : pdf/isdn.pdf
fault-injection: pdf/fault-injection.pdf
iio : pdf/iio.pdf
scheduler : pdf/scheduler.pdf
staging : pdf/staging.pdf
fpga : pdf/fpga.pdf
power : pdf/power.pdf
leds : pdf/leds.pdf
edac : pdf/edac.pdf
PCI : pdf/PCI.pdf
firmware-guide : pdf/firmware-guide.pdf
cpu-freq : pdf/cpu-freq.pdf
mhi : pdf/mhi.pdf
wmi : pdf/wmi.pdf
timers : pdf/timers.pdf
accel : pdf/accel.pdf
hid : pdf/hid.pdf
userspace-api : pdf/userspace-api.pdf
spi : pdf/spi.pdf
networking : pdf/networking.pdf
virt : pdf/virt.pdf
nvme : pdf/nvme.pdf
translations : pdf/translations.pdf
input : pdf/input.pdf
tee : pdf/tee.pdf
doc-guide : pdf/doc-guide.pdf
cdrom : pdf/cdrom.pdf
gpu : pdf/gpu.pdf
i2c : pdf/i2c.pdf
RCU : pdf/RCU.pdf
watchdog : pdf/watchdog.pdf
usb : pdf/usb.pdf
rust : pdf/rust.pdf
crypto : pdf/crypto.pdf
kbuild : pdf/kbuild.pdf
livepatch : pdf/livepatch.pdf
mm : pdf/mm.pdf
locking : pdf/locking.pdf
infiniband : pdf/infiniband.pdf
driver-api : pdf/driver-api.pdf
bpf : pdf/bpf.pdf
devicetree : pdf/devicetree.pdf
block : pdf/block.pdf
target : pdf/target.pdf
arch : pdf/arch.pdf
pcmcia : pdf/pcmcia.pdf
scsi : pdf/scsi.pdf
netlabel : pdf/netlabel.pdf
sound : pdf/sound.pdf
security : pdf/security.pdf
accounting : pdf/accounting.pdf
admin-guide : pdf/admin-guide.pdf
core-api : pdf/core-api.pdf
fb : pdf/fb.pdf
peci : pdf/peci.pdf
trace : pdf/trace.pdf
misc-devices : pdf/misc-devices.pdf
kernel-hacking : pdf/kernel-hacking.pdf
hwmon : pdf/hwmon.pdf
All PDF files were built.
</snip>
Those are all installed packages on AlmaLinux 9.6 (obtained only from
sphinx-pre-install requirements):
<snip>
# rpm -q -a|grep texlive
texlive-base-20200406-26.el9_2.noarch
texlive-lib-20200406-26.el9_2.x86_64
texlive-texlive-common-doc-20200406-26.el9_2.noarch
texlive-cm-20200406-26.el9_2.noarch
texlive-etex-20200406-26.el9_2.noarch
texlive-graphics-def-20200406-26.el9_2.noarch
texlive-hyph-utf8-20200406-26.el9_2.noarch
texlive-hyphen-base-20200406-26.el9_2.noarch
texlive-knuth-lib-20200406-26.el9_2.noarch
texlive-plain-20200406-26.el9_2.noarch
texlive-tex-ini-files-20200406-26.el9_2.noarch
texlive-unicode-data-20200406-26.el9_2.noarch
texlive-texlive.infra-20200406-26.el9_2.noarch
texlive-luatex-20200406-26.el9_2.x86_64
texlive-texlive-scripts-20200406-26.el9_2.noarch
texlive-kpathsea-20200406-26.el9_2.x86_64
texlive-iftex-20200406-26.el9_2.noarch
texlive-atbegshi-20200406-26.el9_2.noarch
texlive-amsmath-20200406-26.el9_2.noarch
texlive-kvoptions-20200406-26.el9_2.noarch
texlive-babel-20200406-26.el9_2.noarch
texlive-etex-pkg-20200406-26.el9_2.noarch
texlive-etoolbox-20200406-26.el9_2.noarch
texlive-latex-fonts-20200406-26.el9_2.noarch
texlive-ltxcmds-20200406-26.el9_2.noarch
texlive-url-20200406-26.el9_2.noarch
texlive-amsfonts-20200406-26.el9_2.noarch
texlive-infwarerr-20200406-26.el9_2.noarch
texlive-pdftexcmds-20200406-26.el9_2.noarch
texlive-luatexbase-20200406-26.el9_2.noarch
texlive-atveryend-20200406-26.el9_2.noarch
texlive-auxhook-20200406-26.el9_2.noarch
texlive-etexcmds-20200406-26.el9_2.noarch
texlive-l3backend-20200406-26.el9_2.noarch
texlive-lm-20200406-26.el9_2.noarch
texlive-booktabs-20200406-26.el9_2.noarch
texlive-ec-20200406-26.el9_2.noarch
texlive-fancyhdr-20200406-26.el9_2.noarch
texlive-footmisc-20200406-26.el9_2.noarch
texlive-intcalc-20200406-26.el9_2.noarch
texlive-kvsetkeys-20200406-26.el9_2.noarch
texlive-multido-20200406-26.el9_2.noarch
texlive-natbib-20200406-26.el9_2.noarch
texlive-ulem-20200406-26.el9_2.noarch
texlive-zapfding-20200406-26.el9_2.noarch
texlive-catchfile-20200406-26.el9_2.noarch
texlive-babelbib-20200406-26.el9_2.noarch
texlive-bookmark-20200406-26.el9_2.noarch
texlive-epstopdf-pkg-20200406-26.el9_2.noarch
texlive-fonts-tlwg-20200406-26.el9_2.noarch
texlive-fp-20200406-26.el9_2.noarch
texlive-gettitlestring-20200406-26.el9_2.noarch
texlive-glyphlist-20200406-26.el9_2.noarch
texlive-graphics-cfg-20200406-26.el9_2.noarch
texlive-graphics-20200406-26.el9_2.noarch
texlive-tools-20200406-26.el9_2.noarch
texlive-xkeyval-20200406-26.el9_2.noarch
texlive-geometry-20200406-26.el9_2.noarch
texlive-colortbl-20200406-26.el9_2.noarch
texlive-carlisle-20200406-26.el9_2.noarch
texlive-caption-20200406-26.el9_2.noarch
texlive-sauerj-20200406-26.el9_2.noarch
texlive-grfext-20200406-26.el9_2.noarch
texlive-hycolor-20200406-26.el9_2.noarch
texlive-kvdefinekeys-20200406-26.el9_2.noarch
texlive-latexconfig-20200406-26.el9_2.noarch
texlive-letltxmacro-20200406-26.el9_2.noarch
texlive-lua-alt-getopt-20200406-26.el9_2.noarch
texlive-marvosym-20200406-26.el9_2.noarch
texlive-mptopdf-20200406-26.el9_2.noarch
texlive-paralist-20200406-26.el9_2.noarch
texlive-pdfescape-20200406-26.el9_2.noarch
texlive-pdftex-20200406-26.el9_2.x86_64
texlive-placeins-20200406-26.el9_2.noarch
texlive-refcount-20200406-26.el9_2.noarch
texlive-setspace-20200406-26.el9_2.noarch
texlive-stringenc-20200406-26.el9_2.noarch
texlive-svn-prov-20200406-26.el9_2.noarch
texlive-everyhook-20200406-37.el9.noarch
texlive-symbol-20200406-26.el9_2.noarch
texlive-psnfss-20200406-26.el9_2.noarch
texlive-tex-20200406-26.el9_2.x86_64
texlive-uniquecounter-20200406-26.el9_2.noarch
texlive-rerunfilecheck-20200406-26.el9_2.noarch
texlive-wasy-20200406-26.el9_2.noarch
texlive-zref-20200406-26.el9_2.noarch
texlive-adobemapping-20200406-37.el9.noarch
texlive-firstaid-20200406-37.el9.noarch
texlive-ipaex-20200406-37.el9.noarch
texlive-latex-base-dev-20200406-37.el9.noarch
texlive-latex-firstaid-dev-20200406-37.el9.noarch
texlive-ptex-base-20200406-37.el9.noarch
texlive-ptex-fonts-20200406-37.el9.noarch
texlive-uptex-fonts-20200406-37.el9.noarch
texlive-wasy-type1-20200406-26.el9_2.noarch
texlive-subfig-20200406-26.el9_2.noarch
texlive-breakurl-20200406-26.el9_2.noarch
texlive-qstest-20200406-26.el9_2.noarch
texlive-sttools-20200406-37.el9.noarch
texlive-csquotes-20200406-26.el9_2.noarch
texlive-translator-20200406-26.el9_2.noarch
texlive-japanese-otf-20200406-37.el9.noarch
texlive-japanese-otf-uptex-20200406-37.el9.noarch
texlive-euro-20200406-26.el9_2.noarch
texlive-garuda-c90-20200406-26.el9_2.noarch
texlive-norasi-c90-20200406-26.el9_2.noarch
texlive-ifplatform-20200406-26.el9_2.noarch
texlive-dvips-20200406-26.el9_2.x86_64
texlive-memoir-20200406-26.el9_2.noarch
texlive-tex-gyre-20200406-26.el9_2.noarch
texlive-alphalph-20200406-26.el9_2.noarch
texlive-arphic-20200406-26.el9_2.noarch
texlive-avantgar-20200406-26.el9_2.noarch
texlive-babel-english-20200406-26.el9_2.noarch
texlive-beton-20200406-26.el9_2.noarch
texlive-bibtex-20200406-26.el9_2.x86_64
texlive-bigintcalc-20200406-26.el9_2.noarch
texlive-bitset-20200406-26.el9_2.noarch
texlive-bookman-20200406-26.el9_2.noarch
texlive-changepage-20200406-26.el9_2.noarch
texlive-charter-20200406-26.el9_2.noarch
texlive-chngcntr-20200406-26.el9_2.noarch
texlive-cmextra-20200406-26.el9_2.noarch
texlive-cns-20200406-26.el9_2.noarch
texlive-colorprofiles-20200406-26.el9_2.noarch
texlive-courier-20200406-26.el9_2.noarch
texlive-enctex-20200406-26.el9_2.noarch
texlive-enumitem-20200406-26.el9_2.noarch
texlive-euler-20200406-26.el9_2.noarch
texlive-eurosym-20200406-26.el9_2.noarch
texlive-filecontents-20200406-26.el9_2.noarch
texlive-fix2col-20200406-26.el9_2.noarch
texlive-float-20200406-26.el9_2.noarch
texlive-fpl-20200406-26.el9_2.noarch
texlive-grffile-20200406-26.el9_2.noarch
texlive-helvetic-20200406-26.el9_2.noarch
texlive-hobsub-20200406-26.el9_2.noarch
texlive-hyperref-20200406-26.el9_2.noarch
texlive-latex-20200406-26.el9_2.noarch
texlive-tipa-20200406-26.el9_2.noarch
texlive-xunicode-20200406-26.el9_2.noarch
texlive-amscls-20200406-26.el9_2.noarch
texlive-ae-20200406-26.el9_2.noarch
texlive-algorithms-20200406-26.el9_2.noarch
texlive-bera-20200406-26.el9_2.noarch
texlive-cm-super-20200406-26.el9_2.noarch
texlive-ucs-20200406-26.el9_2.noarch
texlive-attachfile-20200406-26.el9_2.noarch
texlive-hologo-20200406-26.el9_2.noarch
texlive-hyphenex-20200406-26.el9_2.noarch
texlive-ifmtarg-20200406-26.el9_2.noarch
texlive-xifthen-20200406-26.el9_2.noarch
texlive-index-20200406-26.el9_2.noarch
texlive-kastrup-20200406-26.el9_2.noarch
texlive-knuth-local-20200406-26.el9_2.noarch
texlive-lm-math-20200406-26.el9_2.noarch
texlive-luahbtex-20200406-26.el9_2.x86_64
texlive-lualibs-20200406-26.el9_2.noarch
texlive-luaotfload-20200406-26.el9_2.noarch
texlive-makecmds-20200406-26.el9_2.noarch
texlive-makeindex-20200406-26.el9_2.x86_64
texlive-manfnt-font-20200406-26.el9_2.noarch
texlive-marginnote-20200406-26.el9_2.noarch
texlive-mathpazo-20200406-26.el9_2.noarch
texlive-mflogo-20200406-26.el9_2.noarch
texlive-mflogo-font-20200406-26.el9_2.noarch
texlive-mfnfss-20200406-26.el9_2.noarch
texlive-mfware-20200406-26.el9_2.x86_64
texlive-modes-20200406-26.el9_2.noarch
texlive-mparhack-20200406-26.el9_2.noarch
texlive-ncntrsbk-20200406-26.el9_2.noarch
texlive-notoccite-20200406-26.el9_2.noarch
texlive-minitoc-20200406-26.el9_2.noarch
texlive-ltxmisc-20200406-26.el9_2.noarch
texlive-palatino-20200406-26.el9_2.noarch
texlive-parallel-20200406-26.el9_2.noarch
texlive-pdfcolmk-20200406-26.el9_2.noarch
texlive-xcolor-20200406-26.el9_2.noarch
texlive-pgf-20200406-26.el9_2.noarch
texlive-currfile-20200406-26.el9_2.noarch
texlive-filehook-20200406-26.el9_2.noarch
texlive-sansmathaccent-20200406-26.el9_2.noarch
texlive-beamer-20200406-26.el9_2.noarch
texlive-eso-pic-20200406-26.el9_2.noarch
texlive-pslatex-20200406-26.el9_2.noarch
texlive-pspicture-20200406-26.el9_2.noarch
texlive-pst-arrow-20200406-26.el9_2.noarch
texlive-pst-math-20200406-26.el9_2.noarch
texlive-pxfonts-20200406-26.el9_2.noarch
texlive-rsfs-20200406-26.el9_2.noarch
texlive-soul-20200406-26.el9_2.noarch
texlive-tex-gyre-math-20200406-26.el9_2.noarch
texlive-texlive-docindex-20200406-26.el9_2.noarch
texlive-texlive-en-20200406-26.el9_2.noarch
texlive-texlive-msg-translations-20200406-26.el9_2.noarch
texlive-times-20200406-26.el9_2.noarch
texlive-titlesec-20200406-26.el9_2.noarch
texlive-trimspaces-20200406-26.el9_2.noarch
texlive-environ-20200406-26.el9_2.noarch
texlive-txfonts-20200406-26.el9_2.noarch
texlive-uhc-20200406-26.el9_2.noarch
texlive-underscore-20200406-26.el9_2.noarch
texlive-updmap-map-20200406-26.el9_2.noarch
texlive-utopia-20200406-26.el9_2.noarch
texlive-varwidth-20200406-26.el9_2.noarch
texlive-ms-20200406-26.el9_2.noarch
texlive-koma-script-20200406-26.el9_2.noarch
texlive-listings-20200406-26.el9_2.noarch
texlive-showexpl-20200406-26.el9_2.noarch
texlive-fancyvrb-20200406-26.el9_2.noarch
texlive-pst-3d-20200406-26.el9_2.noarch
texlive-pst-coil-20200406-26.el9_2.noarch
texlive-pst-eps-20200406-26.el9_2.noarch
texlive-pst-fill-20200406-26.el9_2.noarch
texlive-pst-grad-20200406-26.el9_2.noarch
texlive-pst-node-20200406-26.el9_2.noarch
texlive-pst-plot-20200406-26.el9_2.noarch
texlive-pst-text-20200406-26.el9_2.noarch
texlive-pst-tools-20200406-26.el9_2.noarch
texlive-pst-tree-20200406-26.el9_2.noarch
texlive-pstricks-add-20200406-26.el9_2.noarch
texlive-pstricks-20200406-26.el9_2.noarch
texlive-wadalab-20200406-26.el9_2.noarch
texlive-cjk-20200406-26.el9_2.noarch
texlive-wasysym-20200406-26.el9_2.noarch
texlive-xetexconfig-20200406-26.el9_2.noarch
texlive-zapfchan-20200406-26.el9_2.noarch
texlive-ascmac-20200406-37.el9.noarch
texlive-cjkpunct-20200406-37.el9.noarch
texlive-convbkmk-20200406-37.el9.noarch
texlive-fandol-20200406-37.el9.noarch
texlive-ttfutils-20200406-37.el9.x86_64
texlive-uptex-base-20200406-37.el9.noarch
texlive-zhmetrics-20200406-37.el9.noarch
texlive-zhmetrics-uptex-20200406-37.el9.noarch
texlive-xdvi-20200406-26.el9_2.x86_64
texlive-ptex-20200406-37.el9.x86_64
texlive-uptex-20200406-37.el9.x86_64
texlive-metafont-20200406-26.el9_2.x86_64
texlive-thumbpdf-20200406-26.el9_2.noarch
texlive-fontspec-20200406-26.el9_2.noarch
texlive-l3packages-20200406-26.el9_2.noarch
texlive-lualatex-math-20200406-26.el9_2.noarch
texlive-unicode-math-20200406-26.el9_2.noarch
texlive-oberdiek-20200406-26.el9_2.noarch
texlive-l3kernel-20200406-26.el9_2.noarch
texlive-xecjk-20200406-26.el9_2.noarch
texlive-dvipdfmx-20200406-26.el9_2.x86_64
texlive-xetex-20200406-26.el9_2.x86_64
texlive-collection-basic-20200406-26.el9_2.noarch
texlive-platex-20200406-37.el9.noarch
texlive-xcjk2uni-20200406-37.el9.noarch
texlive-xpinyin-20200406-37.el9.noarch
texlive-platex-tools-20200406-37.el9.noarch
texlive-uplatex-20200406-37.el9.noarch
texlive-luatexja-20200406-37.el9.noarch
texlive-zhnumber-20200406-37.el9.noarch
texlive-bidi-20200406-26.el9_2.noarch
texlive-polyglossia-20200406-26.el9_2.noarch
texlive-ctex-20200406-37.el9.noarch
texlive-collection-fontsrecommended-20200406-26.el9_2.noarch
texlive-collection-latex-20200406-26.el9_2.noarch
texlive-eqparbox-20200406-26.el9_2.noarch
texlive-upquote-20200406-26.el9_2.noarch
texlive-tabulary-20200406-26.el9_2.noarch
texlive-fncychap-20200406-26.el9_2.noarch
texlive-anyfontsize-20200406-26.el9_2.noarch
texlive-capt-of-20200406-26.el9_2.noarch
texlive-cmap-20200406-26.el9_2.noarch
texlive-euenc-20200406-26.el9_2.noarch
texlive-fancybox-20200406-26.el9_2.noarch
texlive-framed-20200406-26.el9_2.noarch
texlive-luatex85-20200406-26.el9_2.noarch
texlive-mdwtools-20200406-26.el9_2.noarch
texlive-multirow-20200406-26.el9_2.noarch
texlive-needspace-20200406-26.el9_2.noarch
texlive-parskip-20200406-26.el9_2.noarch
texlive-threeparttable-20200406-26.el9_2.noarch
texlive-wrapfig-20200406-26.el9_2.noarch
</snip>
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-18 11:35 ` Mauro Carvalho Chehab
@ 2025-08-18 12:00 ` Akira Yokosawa
0 siblings, 0 replies; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-18 12:00 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: corbet, linux-doc, linux-kernel, Akira Yokosawa
On Mon, 18 Aug 2025 13:35:33 +0200, Mauro Carvalho Chehab wrote:
> Em Mon, 18 Aug 2025 19:06:03 +0900
> Akira Yokosawa <akiyks@gmail.com> escreveu:
>
>> How do you install xindy under AlmaLinux release 9.6 (Sage Margay),
>> Amazon Linux release 2023 (Amazon Linux), CentOS Stream release 9,
>> and the likes?
>
> I didn't install it there.
>
> Yet, on some distros it seems that this is packaged together with
> a texlive collection package and it is called during pdf build.
>
> This was also causing font issues. So, I added an option at
> latex_elements to ensure that, if used, it will request UTF-8 fonts:
>
> latex_elements = {
> # The paper size ('letterpaper' or 'a4paper').
> "papersize": "a4paper",
> "passoptionstopackages": dedent(r"""
> \PassOptionsToPackage{svgnames}{xcolor}
> % Avoid encoding troubles when creating indexes
> \PassOptionsToPackage{xindy}{language=english,codepage=utf8,noautomatic}
> """),
>
> I just built manually on almalinux. There, all pdfs built fine:
Ah, xindy is optional then.
Got it!
Sorry for the noise.
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-17 9:46 ` Akira Yokosawa
2025-08-17 11:36 ` Mauro Carvalho Chehab
@ 2025-08-18 16:59 ` Jonathan Corbet
1 sibling, 0 replies; 42+ messages in thread
From: Jonathan Corbet @ 2025-08-18 16:59 UTC (permalink / raw)
To: Akira Yokosawa, Mauro Carvalho Chehab
Cc: linux-doc, linux-kernel, Akira Yokosawa
Akira Yokosawa <akiyks@gmail.com> writes:
Just as an aside:
> It's getting really hard for me to keep up with your pace of changes
> in doc build scripts, really.
I can relate ... it's been busy lately, and perhaps I haven't helped
either. But I do, very much, appreciate your attention to this work and
your review effort.
Thanks,
jon
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-17 16:07 ` Akira Yokosawa
2025-08-18 0:44 ` Akira Yokosawa
@ 2025-08-18 17:07 ` Jonathan Corbet
2025-08-18 23:26 ` Akira Yokosawa
1 sibling, 1 reply; 42+ messages in thread
From: Jonathan Corbet @ 2025-08-18 17:07 UTC (permalink / raw)
To: Akira Yokosawa, Mauro Carvalho Chehab
Cc: linux-doc, linux-kernel, Akira Yokosawa
Akira Yokosawa <akiyks@gmail.com> writes:
> Ah, I have finally understood what 5/11 is trying to do.
>
> Its changelog mainly talks about an issue you saw after adding options
> to xindy in that same commit, and you added
>
> \newfontfamily\headingfont{DejaVu Serif}
>
> to resolve it.
>
> Current changelog didn't make sense at all for me.
>
> Can you please reword it and make it easier to follow?
>
> With that, feel free to add my
>
> Reviewed-by: Akira Yokosawa <akiyks@gmail.com>
So, if I have managed to understand this conversation, this reword is
all we need to get this series merged..?
Thanks,
jon
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-18 17:07 ` Jonathan Corbet
@ 2025-08-18 23:26 ` Akira Yokosawa
2025-08-19 1:02 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-18 23:26 UTC (permalink / raw)
To: Jonathan Corbet, Mauro Carvalho Chehab
Cc: linux-doc, linux-kernel, Akira Yokosawa
On Mon, 18 Aug 2025 11:07:58 -0600, Jonathan Corbet wrote:
> Akira Yokosawa <akiyks@gmail.com> writes:
>
>> Ah, I have finally understood what 5/11 is trying to do.
>>
>> Its changelog mainly talks about an issue you saw after adding options
>> to xindy in that same commit, and you added
>>
>> \newfontfamily\headingfont{DejaVu Serif}
>>
>> to resolve it.
>>
>> Current changelog didn't make sense at all for me.
>>
>> Can you please reword it and make it easier to follow?
>>
>> With that, feel free to add my
>>
>> Reviewed-by: Akira Yokosawa <akiyks@gmail.com>
>
> So, if I have managed to understand this conversation, this reword is
> all we need to get this series merged..?
Well, after some thoughts on the conversation took place on xindy,
I think I have to withdraw my Reviewed-by: tag.
I was the one who was totally confused.
Please disregard it.
Mauro, I can't review on 5/11 unless you provide me exact steps to reproduce
the font discovery issue you said you have observed under debian at 4/11 of
this series. That is, without assuming your other series of build-wrapper.
The build-wrapper should be upper compatible with the current way of
running sub-make, without any change in conf.py.
I don't think this is too much to ask. Moving both the goal post
and the build script at the same time is the wrong thing to do
in my opinion.
Regards,
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-18 23:26 ` Akira Yokosawa
@ 2025-08-19 1:02 ` Mauro Carvalho Chehab
2025-08-19 2:16 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-19 1:02 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: Jonathan Corbet, linux-doc, linux-kernel
Em Tue, 19 Aug 2025 08:26:31 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> On Mon, 18 Aug 2025 11:07:58 -0600, Jonathan Corbet wrote:
> > Akira Yokosawa <akiyks@gmail.com> writes:
> >
> >> Ah, I have finally understood what 5/11 is trying to do.
> >>
> >> Its changelog mainly talks about an issue you saw after adding options
> >> to xindy in that same commit, and you added
> >>
> >> \newfontfamily\headingfont{DejaVu Serif}
> >>
> >> to resolve it.
> >>
> >> Current changelog didn't make sense at all for me.
> >>
> >> Can you please reword it and make it easier to follow?
> >>
> >> With that, feel free to add my
> >>
> >> Reviewed-by: Akira Yokosawa <akiyks@gmail.com>
> >
> > So, if I have managed to understand this conversation, this reword is
> > all we need to get this series merged..?
>
> Well, after some thoughts on the conversation took place on xindy,
> I think I have to withdraw my Reviewed-by: tag.
>
> I was the one who was totally confused.
>
> Please disregard it.
>
> Mauro, I can't review on 5/11 unless you provide me exact steps to reproduce
> the font discovery issue you said you have observed under debian at 4/11 of
> this series. That is, without assuming your other series of build-wrapper.
See below.
> The build-wrapper should be upper compatible with the current way of
> running sub-make, without any change in conf.py.
The build-wrapper series doesn't make any changes on conf.py:
$ git diff pdfdocs..sphinx-build-wrapper --stat
.pylintrc | 2 +-
Documentation/Makefile | 142 +++-------
Documentation/sphinx/parallel-wrapper.sh | 33 ---
scripts/jobserver-exec | 88 ++-----
scripts/lib/jobserver.py | 149 +++++++++++
scripts/sphinx-build-wrapper | 767 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
scripts/sphinx-pre-install | 14 +-
7 files changed, 994 insertions(+), 201 deletions(-)
It also doesn't change the build logic: it just moves it to the
script. The only difference was with regards to serializing the build,
as I forgot to take it into account when I wrote it. However, I sent
already a patch addressing it.
In summary, all the sphinx-build-wrapper series do is:
- move code from Documentation/Makefile into a python script;
- get rid of a shell script;
- split scripts/jobserver-exec into an exec and a library;
- change the output of doc build to produce a summary at the end,
returning an error code only if one or more PDF files were not
built;
- allow calling the script directly without requiring a makefile;
- add a couple of optional command line parameters to help debugging.
On the other hand, the pdf series diffstat is:
$ git diff netlink_v10..pdfdocs --stat
Documentation/Makefile | 4 ++--
Documentation/conf.py | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------
scripts/sphinx-pre-install | 41 ++++++++++++++++++++++++++++++++---------
3 files changed, 96 insertions(+), 55 deletions(-)
The Makefile change is actually a fix:
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 820f07e0afe6..2ed334971acd 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -63,2 +63,2 @@ endif #HAVE_LATEXMK
-PAPEROPT_a4 = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
+PAPEROPT_a4 = -D latex_elements.papersize=a4paper
+PAPEROPT_letter = -D latex_elements.papersize=letterpaper
So, the entire series do:
1. Fix paper size define, as latex_paper_size doesn´t exist since
Sphinx 1.x. It got replaced by latex_elements.papersize;
2. Broken package dependencies related to PDF builds on several
distros inside sphinx-pre-install;
3. It properly construct the name of pdfdocs to be built when
SPHINXDIRS is used;
4. It prevents the usage of T1 fontenc fonts, which could be
caused by either one of those two reasons:
a) \sphinxhyphen{}
b) index build
I got those when checking what packages were required on some
distros (Debian, Ubuntu, Mageia, openMandriva, Gentoo).
Depending on the distro, the Sphinx version and the installed
packages, the *.tex file ends adding:
\usepackage[T1]{fontenc}
This is incompatible with xelatex with utf-8 fonts as T1 is not UTF-8
ready.
with (a), \sphinxhyphen{} logic - together with babel, ends
requiring pzdr.tfm.
To do the conf.py, I did some changes for it to better align
with:
https://www.sphinx-doc.org/en/master/latex.html#module-latex
As the original settings were written for Sphinx 1.4.1 and
had very little fixes since then.
The changes are:
1. Added:
"fontenc": ""
to prevent a possible default of having:
r'\usepackage[T1]{fontenc}'
2. Place font settings at the right place for more modern Spinx versions.
If you look there, font specs shall be under "fontpkg", not under
"preamble":
+ 'fontpkg': dedent(r'''
+ \usepackage{fontspec}
+ \setmainfont{DejaVu Serif}
+ \setsansfont{DejaVu Sans}
+ \setmonofont{DejaVu Sans Mono}
- # Additional stuff for the LaTeX preamble.
- "preamble": """
- % Use some font with UTF-8 support with XeLaTeX
- \\usepackage{fontspec}
- \\setsansfont{DejaVu Sans}
- \\setromanfont{DejaVu Serif}
- \\setmonofont{DejaVu Sans Mono}
- """,
}
3. Added a fix where some LaTeX modules were trying to use T1 fontenc:
\newfontfamily\headingfont{DejaVu Serif}
4. I used dedent() to remove weird whitespaces at the beginning inside
.tex files - no functional changes - this is just cosmetic at the
output;
5. I moved preamble from a separate part of conf.py:
+ "preamble": dedent(r"""
+ % Load kerneldoc specific LaTeX settings
+ \input{kerneldoc-preamble.sty}
+ """),
-# Load kerneldoc specific LaTeX settings
-latex_elements["preamble"] += """
- % Load kerneldoc specific LaTeX settings
- \\input{kerneldoc-preamble.sty}
-"""
6. I solved an issue were xindy was trying to include T1 fontenc.
while here, I also added a parameter recommended at sphinx Latex
configuration doc:
+ "passoptionstopackages": dedent(r"""
+ \PassOptionsToPackage{svgnames}{xcolor}
+ % Avoid encoding troubles when creating indexes
+ \PassOptionsToPackage{xindy}{language=english,codepage=utf8,noautomatic}
+ """),
(the xcolor came from the documentation)
The above doesn't load xindy; it just ensures that codepage=utf8 is used
if it is used;
7. some distros didn't build pdf due to the lack of an index file.
So, I added this:
+ 'printindex': r'\footnotesize\raggedright\printindex',
which is also suggested at
https://www.sphinx-doc.org/en/master/latex.html#module-latex
So, basically, the changes at conf.py better align it with Sphinx
documentation, and were experimentally tested: I didn't find
any regressions on it, and it fixed PDF builds for several distros.
Did you find any regressions?
> I don't think this is too much to ask.
Actually, it is... finding a way for you to reproduce it would
require me to start from scratch and redo everything again,
hoping that I'll do exactly the same way. It took me 2 entire
weeks to do it the first time.
I very much prefer dropping patch 05/11 and keep PDF broken
than spending 2 weeks redoing it.
> Moving both the goal post
What do you mean by "goal post"?
The pdfdocs series is there just to make sure that pdf builds
will work on most distros, as currently they don't build on
several of them.
> and the build script at the same time is the wrong thing to do
> in my opinion.
Well, we can postpone the PDF series - or at least the patches
you find problematic.
The build script cleanup is important, though as it affects
a series I have afterwards addressing some build issues
affecting only the media subsystem, which is the only user
of kernel-include tag.
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-19 1:02 ` Mauro Carvalho Chehab
@ 2025-08-19 2:16 ` Akira Yokosawa
2025-08-19 13:32 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-19 2:16 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Jonathan Corbet, linux-doc, linux-kernel, Akira Yokosawa
Hi Mauro,
Please calm down.
Apologizes if my wording has annoyed you.
On Tue, 19 Aug 2025 03:02:39 +0200, Mauro Carvalho Chehab wrote:
> Em Tue, 19 Aug 2025 08:26:31 +0900
> Akira Yokosawa <akiyks@gmail.com> escreveu:
[...]
>> Mauro, I can't review on 5/11 unless you provide me exact steps to reproduce
>> the font discovery issue you said you have observed under debian at 4/11 of
>> this series. That is, without assuming your other series of build-wrapper.
>
> See below.
>
>> The build-wrapper should be upper compatible with the current way of
>> running sub-make, without any change in conf.py.
>
> The build-wrapper series doesn't make any changes on conf.py:
Of course not, I'm well aware of the fact from the cover letter.
[...]
> 4. It prevents the usage of T1 fontenc fonts, which could be
> caused by either one of those two reasons:
>
> a) \sphinxhyphen{}
> b) index build
>
> I got those when checking what packages were required on some
> distros (Debian, Ubuntu, Mageia, openMandriva, Gentoo).
I couldn't reproduce it at PATCH 4/11 under a Ubnutu-based container
I've been using, ignoring your sphinx-build-warpper series.
I'd really like to see the issue with my eyes on top current way of
doc building!
That's all I am asking.
I have no particular interest in the way you are testing all those
variety of distros, and have no idea about it.
Please provide steps to reproduce.
I'd like to see a Dockerfile based "FROM ubuntu:latest" as the testing
environment.
I suspect you have encountered some issue due to some missing package/
setting in the container container side.
Or does the issue only appear when you run the script directly?
Of course, there always is a chance I might be missing something
important.
Regards,
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-19 2:16 ` Akira Yokosawa
@ 2025-08-19 13:32 ` Mauro Carvalho Chehab
2025-08-19 23:54 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-19 13:32 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: Jonathan Corbet, linux-doc, linux-kernel
Em Tue, 19 Aug 2025 11:16:29 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> Hi Mauro,
>
> Please calm down.
> Apologizes if my wording has annoyed you.
>
> On Tue, 19 Aug 2025 03:02:39 +0200, Mauro Carvalho Chehab wrote:
> > Em Tue, 19 Aug 2025 08:26:31 +0900
> > Akira Yokosawa <akiyks@gmail.com> escreveu:
>
> [...]
>
> >> Mauro, I can't review on 5/11 unless you provide me exact steps to reproduce
> >> the font discovery issue you said you have observed under debian at 4/11 of
> >> this series. That is, without assuming your other series of build-wrapper.
> >
> > See below.
> >
> >> The build-wrapper should be upper compatible with the current way of
> >> running sub-make, without any change in conf.py.
> >
> > The build-wrapper series doesn't make any changes on conf.py:
>
> Of course not, I'm well aware of the fact from the cover letter.
>
> [...]
>
> > 4. It prevents the usage of T1 fontenc fonts, which could be
> > caused by either one of those two reasons:
> >
> > a) \sphinxhyphen{}
> > b) index build
> >
> > I got those when checking what packages were required on some
> > distros (Debian, Ubuntu, Mageia, openMandriva, Gentoo).
>
> I couldn't reproduce it at PATCH 4/11 under a Ubnutu-based container
> I've been using, ignoring your sphinx-build-warpper series.
I'm assuming you're referring to patch 5/11, e.g.:
ceaa95123364 ("docs: conf.py: fix some troubles for LaTeX output")
> I'd really like to see the issue with my eyes on top current way of
> doc building!
>
> That's all I am asking.
>
> I have no particular interest in the way you are testing all those
> variety of distros, and have no idea about it.
>
> Please provide steps to reproduce.
> I'd like to see a Dockerfile based "FROM ubuntu:latest" as the testing
> environment.
Heh, that's why you can't reproduce... you're using a Docker container
and a different Ubuntu version than I.
What I did here was to use a lxc container with 25.04, and used
a script to pick the exact recommendations given by sphinx-pre-install.
The container was created with:
<script>
sudo lxc-create -n ubuntu-test -t download -- --dist ubuntu --release plucky --arch amd64
sudo mkdir -p /var/lib/lxc/ubuntu-test
sudo sh -c cat > /var/lib/lxc/ubuntu-test/config <<EOF
lxc.arch = x86_64
lxc.pty.max = 1024
lxc.tty.max = 4
lxc.net.0.type = veth
lxc.net.0.link = lxcbr0
lxc.net.0.flags = up
lxc.net.0.hwaddr = 00:16:3e:6f:66:8c
lxc.cap.drop = mac_admin mac_override sys_time sys_module sys_rawio
lxc.cgroup.devices.allow = a
lxc.cgroup2.devices.allow = a
lxc.mount.auto = proc sys cgroup
lxc.rootfs.path = /var/lib/lxc/ubuntu-test/rootfs
EOF
</script>
once you get what's needed for make htmldocs work, installing
only the dependencies recommended by sphinx-pre-install, you can
start trying to reproduce the build issues for pdf.
For the steps below, I installed Sphinx latest using venv:
$ make SPHINXDIRS=peci pdfdocs
...
This is XeTeX, Version 3.141592653-2.6-0.999996 (TeX Live 2025/dev/Debian) (preloaded format=xelatex)
entering extended mode
Latexmk: Getting log file 'peci.log'
Latexmk: Examining 'peci.fls'
Latexmk: Examining 'peci.log'
Latexmk: Missing input file 'tgtermes.sty' (or dependence on it) from following:
! LaTeX Error: File `tgtermes.sty' not found.
Latexmk: Log file says no output from latex
Latexmk: For rule 'xelatex', no output was made
Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
xelatex: Command for 'xelatex' gave return code 1
Refer to 'peci.log' and/or above output for details
Latexmk: Sometimes, the -f option can be used to get latexmk
to try to force complete processing.
But normally, you will need to correct the file(s) that caused the
error, and then rerun latexmk.
In some cases, it is best to clean out generated files before rerunning
latexmk after you've corrected the files.
make[3]: *** [Makefile:29: peci.pdf] Error 12
make[2]: *** [Documentation/Makefile:148: pdfdocs] Error 1
make[1]: *** [/root/Makefile:1806: pdfdocs] Error 2
make: *** [Makefile:248: __sub-make] Error 2
Fix the broken font dependencies require installing other packages:
# apt install tex-gyre texlive-fonts-recommended texlive-lang-chinese
texlive-lang-chinese is already the newest version (2024.20250309-1).
Installing:
tex-gyre texlive-fonts-recommended
Installing dependencies:
fonts-texgyre fonts-texgyre-math
As described at sphinx-pre-install patch:
commit a888d353ac1eb0d558fda5482c6955d6c4a29f23
Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Date: Mon Jul 28 15:54:09 2025 +0200
scripts: sphinx-pre-install: fix PDF build issues on Ubuntu
PDF output with current Debian-based distros require other
packages for it to work. The main one is pzdr.tfm. Without
that, \sphinxhyphen{} won't work, affecting multiple docs.
For CJK, tex-gyre is required.
Add the missing packages to the list.
Now, here's the thing: to get the above dependencies, I played with
installing/uninstalling multiple packages, until I discovered where
each font dependency was, and where CJK fonts were placed.
Still, the above is not enough:
$ make cleandocs; LANG=C LC_ALL=C make SPHINXDIRS=peci pdfdocs
...
entering extended mode
Latexmk: Getting log file 'peci.log'
Latexmk: Examining 'peci.fls'
Latexmk: Examining 'peci.log'
Latexmk: Index file 'peci.idx' was written
Latexmk: References changed.
Latexmk: Missing input file 'peci.toc' (or dependence on it) from following:
No file peci.toc.
Latexmk: Missing input file 'peci.ind' (or dependence on it) from following:
No file peci.ind.
Latexmk: References changed.
Latexmk: References changed.
Latexmk: Log file says output to 'peci.xdv'
Have index file 'peci.idx', peci.ind peci
Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
xelatex: Command for 'xelatex' gave return code 1
Refer to 'peci.log' and/or above output for details
Latexmk: Sometimes, the -f option can be used to get latexmk
to try to force complete processing.
But normally, you will need to correct the file(s) that caused the
error, and then rerun latexmk.
In some cases, it is best to clean out generated files before rerunning
latexmk after you've corrected the files.
make[3]: *** [Makefile:29: peci.pdf] Error 12
make[2]: *** [Documentation/Makefile:148: pdfdocs] Error 1
make[1]: *** [/root/Makefile:1806: pdfdocs] Error 2
make: *** [Makefile:248: __sub-make] Error 2
$ ls Documentation/output/peci/latex/|grep pdf
<none>
PS.: such error is intermitent: re-creating containers sometimes
fix the issues; sometimes not. It sounds to be that this is due
to some race condition somewhere.
Also, if you look at the *.tex output, you'll see it is messing with
fonts:
# grep usepackage Documentation/output/peci/latex/peci.tex
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amstext}
\usepackage{babel}
\usepackage{tgtermes}
\usepackage{tgheros}
\usepackage[Bjarne]{fncychap}
\usepackage[,maxlistdepth=10]{sphinx}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{hyperref}
\usepackage{hypcap}% it must be loaded after hyperref.
\usepackage{sphinxmessages}
\usepackage{fontspec}
e.g.:
- The tex file is trying to use T1 fontenc and fontspec;
- The fontspec usage came from conf.py preamble, which is not indented
well:
# grep -A7 fontspec Documentation/output/peci/latex/peci.tex
\usepackage{fontspec}
\setsansfont{DejaVu Sans}
\setromanfont{DejaVu Serif}
\setmonofont{DejaVu Sans Mono}
% Load kerneldoc specific LaTeX settings
\input{kerneldoc-preamble.sty}
On several of my attempts, I got those errors:
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
LaTeX Font Info: Trying to load font information for T1+lmr on input line 11
6.
LaTeX Font Info: No file T1lmr.fd. on input line 116.
LaTeX Font Warning: Font shape `T1/lmr/m/n' undefined
(Font) using `T1/lmr/m/n' instead on input line 116.
! Corrupted NFSS tables.
wrong@fontshape ...message {Corrupted NFSS tables}
error@fontshape else let f...
l.116 ...\familydefault\seriesdefault\shapedefault
If you search for it, you would get references like:
https://tex.stackexchange.com/questions/740050/corrupted-nfss-tables
explaining that using T1 together with fontenc is a very bad idea,
recommending to use instead:
\usepackage{fontspec}
\newfontfamily<sometthing>
and not use T1 fontenc.
Unfortunately, I was not able to reproduce this exact error anymore,
at least on Ubuntu. Perhaps I got this one on Gentoo or on some other
distro, but I can't remember anymore how to reproduce this specific
error message.
-
Yet, using my today's container, this specific scenario can be fixed by moving
the font config data from preamble to "fontenc":
<patch>
+from textwrap import dedent
+
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
@@ -441,20 +443,18 @@ latex_elements = {
# For CJK One-half spacing, need to be in front of hyperref
"extrapackages": r"\usepackage{setspace}",
# Additional stuff for the LaTeX preamble.
- "preamble": """
+ "fontenc": dedent("""
% Use some font with UTF-8 support with XeLaTeX
\\usepackage{fontspec}
\\setsansfont{DejaVu Sans}
\\setromanfont{DejaVu Serif}
\\setmonofont{DejaVu Sans Mono}
- """,
-}
-
-# Load kerneldoc specific LaTeX settings
-latex_elements["preamble"] += """
+ """),
+ "preamble": dedent("""
% Load kerneldoc specific LaTeX settings
\\input{kerneldoc-preamble.sty}
-"""
+ """)
+}
</patch>
which is one of the main changes I made. At the actual change, I opted to
use raw strings, to avoid "\\" e.g.:
"fontenc": dedent(r"""
% Use some font with UTF-8 support with XeLaTeX
\usepackage{fontspec}
\setsansfont{DejaVu Sans}
\setromanfont{DejaVu Serif}
\setmonofont{DejaVu Sans Mono}
"""),
With that, we have now:
# grep usepackage Documentation/output/peci/latex/*.tex
\usepackage{cmap}
\usepackage{fontspec}
\usepackage{amsmath,amssymb,amstext}
\usepackage{babel}
\usepackage{tgtermes}
\usepackage{tgheros}
\usepackage[Bjarne]{fncychap}
\usepackage[,maxlistdepth=10]{sphinx}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{hyperref}
\usepackage{hypcap}% it must be loaded after hyperref.
\usepackage{sphinxmessages}
However, on other tests, including other distros, I found that this
is not enough, because:
1) the *.ind creation may use xindy on some distros and xindy could try
to use T1 fontenc. So, I had to add this line:
\PassOptionsToPackage{xindy}{language=english,codepage=utf8,noautomatic}
to ensure that, if xindy is used, it will get codepage=utf8.
2) there were some other corner cases that required to add
\newfontfamily\headingfont{DejaVu Serif}
Again related to T1 fontenc.
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-19 13:32 ` Mauro Carvalho Chehab
@ 2025-08-19 23:54 ` Akira Yokosawa
2025-08-20 7:15 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-19 23:54 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Jonathan Corbet, linux-doc, linux-kernel, Akira Yokosawa
On Tue, 19 Aug 2025 15:32:00 +0200, Mauro Carvalho Chehab wrote:
> Em Tue, 19 Aug 2025 11:16:29 +0900
> Akira Yokosawa <akiyks@gmail.com> escreveu:
[...]
>> That's all I am asking.
>>
>> I have no particular interest in the way you are testing all those
>> variety of distros, and have no idea about it.
>>
>> Please provide steps to reproduce.
>> I'd like to see a Dockerfile based "FROM ubuntu:latest" as the testing
>> environment.
>
> Heh, that's why you can't reproduce... you're using a Docker container
> and a different Ubuntu version than I.
>
> What I did here was to use a lxc container with 25.04, and used
> a script to pick the exact recommendations given by sphinx-pre-install.
>
> The container was created with:
>
[...]
> once you get what's needed for make htmldocs work, installing
> only the dependencies recommended by sphinx-pre-install, you can
> start trying to reproduce the build issues for pdf.
I've just built a container "FROM ubuntu:plucky", which has inkscape
instead of imagemagick + rsvg-convert.
I don't see any font issue at 4/11 of this series under the container
(I'm using podman).
Furthermore, after I applied both of your series and the change for
parallel runs of xelatex/latexmk and reverting the 5/11, I don't see
any issue.
Which strongly suggests 5/11 is not fixing any realistic issues.
FWIW, Dockerfile I'm using for building the container is derived from the
one I've been taking care of since 2021 as a LaTeX advisor to perfbook.
If you are interested, here is its repo of Paul:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/perfbook.git
You might be interested in seeing docker/Dockerfile.
I think there is something you are missing in the boot strapping phases
of building your container.
Just my wild guess.
Thanks,
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-19 23:54 ` Akira Yokosawa
@ 2025-08-20 7:15 ` Mauro Carvalho Chehab
2025-08-20 11:41 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-20 7:15 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: Jonathan Corbet, linux-doc, linux-kernel
Em Wed, 20 Aug 2025 08:54:52 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> On Tue, 19 Aug 2025 15:32:00 +0200, Mauro Carvalho Chehab wrote:
> > Em Tue, 19 Aug 2025 11:16:29 +0900
> > Akira Yokosawa <akiyks@gmail.com> escreveu:
>
> [...]
>
> >> That's all I am asking.
> >>
> >> I have no particular interest in the way you are testing all those
> >> variety of distros, and have no idea about it.
> >>
> >> Please provide steps to reproduce.
> >> I'd like to see a Dockerfile based "FROM ubuntu:latest" as the testing
> >> environment.
> >
> > Heh, that's why you can't reproduce... you're using a Docker container
> > and a different Ubuntu version than I.
> >
> > What I did here was to use a lxc container with 25.04, and used
> > a script to pick the exact recommendations given by sphinx-pre-install.
> >
> > The container was created with:
> >
>
> [...]
>
> > once you get what's needed for make htmldocs work, installing
> > only the dependencies recommended by sphinx-pre-install, you can
> > start trying to reproduce the build issues for pdf.
>
> I've just built a container "FROM ubuntu:plucky", which has inkscape
> instead of imagemagick + rsvg-convert.
I don't think that inkscape x imagemagick/rsvg-convert itself has
anyhting to do with the problems I detected, as they're related to
font issues (still, I got an issue on one of my builds on kfigure
write file: encoding is missing at open, which may cause errors).
Yet, installing imagemagick + rsvg-convert might affect some other
packages that LaTeX would use.
> I don't see any font issue at 4/11 of this series under the container
> (I'm using podman).
>
> Furthermore, after I applied both of your series and the change for
> parallel runs of xelatex/latexmk and reverting the 5/11, I don't see
> any issue.
>
> Which strongly suggests 5/11 is not fixing any realistic issues.
>
> FWIW, Dockerfile I'm using for building the container is derived from the
> one I've been taking care of since 2021 as a LaTeX advisor to perfbook.
>
> If you are interested, here is its repo of Paul:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/perfbook.git
>
> You might be interested in seeing docker/Dockerfile.
>
> I think there is something you are missing in the boot strapping phases
> of building your container.
>
> Just my wild guess.
Just because you can't reproduce the issue, it doesn't mean it doesn't
exist. LaTeX builds are complex having it has lots of dependencies,
and may be affected by installed fonts, LC_* and LANG env vars, etc.
It should be noticed that a Docker container doesn't have the same
packages installed when compared with a LXC one.
-
IMO, instead of trying to reproduce the bug that was already fixed
by my patches, it would be a way more important if you can double
check if the changes introduce regressions.
I'm planning to submit a new version of this series, with this
patch split into 3 patches, with a better description, plus a
couple of other fixes. If you notice a regression caused by any
of the patches, please let us know, preferably pointing the the exact
patch that broke it.
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 05/11] docs: conf.py: fix some troubles for LaTeX output
2025-08-15 11:36 ` [PATCH 05/11] docs: conf.py: fix some troubles for LaTeX output Mauro Carvalho Chehab
@ 2025-08-20 8:16 ` Akira Yokosawa
0 siblings, 0 replies; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-20 8:16 UTC (permalink / raw)
To: mchehab+huawei; +Cc: corbet, linux-doc, linux-kernel, Akira Yokosawa
Hi Mauro,
Looks like my word choice annoyed you. Apologies again.
I've just realized your response while composing this, but I'm sending
it anyway. Please see below.
On Fri, 15 Aug 2025 13:36:21 +0200, Mauro Carvalho Chehab wrote:
> While PDF docs work fine on RPM-based distros, it causes conflicts
> on Debian & friends:
>
> Documentation/output/process/latex/process.log:
>
> Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
> LaTeX Font Info: Trying to load font information for T1+lmr on input line 11
> 6.
> LaTeX Font Info: No file T1lmr.fd. on input line 116.
>
> LaTeX Font Warning: Font shape `T1/lmr/m/n' undefined
> (Font) using `T1/lmr/m/n' instead on input line 116.
>
> ! Corrupted NFSS tables.
> wrong@fontshape ...message {Corrupted NFSS tables}
> error@fontshape else let f...
> l.116 ...\familydefault\seriesdefault\shapedefault
>
> Change some logic inside latex_elements to avoid such issues,
> following the example from Sphinx documentation:
>
> https://www.sphinx-doc.org/en/master/latex.html
>
I spotted a wrong looking LaTeX macro use. See below:
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> Documentation/conf.py | 39 +++++++++++++++++++++++----------------
> 1 file changed, 23 insertions(+), 16 deletions(-)
>
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index 6e12c7d8e07e..712e0a016727 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -9,6 +9,8 @@ import os
> import shutil
> import sys
>
> +from textwrap import dedent
> +
> import sphinx
>
> # If extensions (or modules to document with autodoc) are in another directory,
> @@ -454,19 +456,38 @@ htmlhelp_basename = "TheLinuxKerneldoc"
> latex_elements = {
> # The paper size ('letterpaper' or 'a4paper').
> "papersize": "a4paper",
> + "passoptionstopackages": dedent(r"""
> + \PassOptionsToPackage{svgnames}{xcolor}
> + % Avoid encoding troubles when creating indexes
> + \PassOptionsToPackage{xindy}{language=english,codepage=utf8,noautomatic}
> + """),
This use of \PassOptionsToPackage{}{} looks very wrong, because its 1st
argument is the option string you would like to pass to a latex package
given in the 2nd argument.
See: https://latexref.xyz/_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage.html
Furthermore, as there is no such latex package named "xindy",
this will have any effect even if you reverse the argument order.
I imagine you had some illusion and believed it would fix some issue
you had observed.
Also, I don't see the need of \PassOptionsToPackage{svgnames}{xcolor}.
Please clarify who needs that color namespace option in the changelog.
> # The font size ('10pt', '11pt' or '12pt').
> "pointsize": "11pt",
> + # Needed to generate a .ind file
> + 'printindex': r'\footnotesize\raggedright\printindex',
I would mention this as an improvement in the changelog.
And the following changes look good to me.
Thanks, Akira
> # Latex figure (float) alignment
> # 'figure_align': 'htbp',
> # Don't mangle with UTF-8 chars
> + "fontenc": "",
> "inputenc": "",
> "utf8extra": "",
> + 'fontpkg': dedent(r'''
> + \usepackage{fontspec}
> + \setmainfont{DejaVu Serif}
> + \setsansfont{DejaVu Sans}
> + \setmonofont{DejaVu Sans Mono}
> + \newfontfamily\headingfont{DejaVu Serif}
> + '''),
> # Set document margins
> - "sphinxsetup": """
> + "sphinxsetup": dedent(r"""
> hmargin=0.5in, vmargin=1in,
> parsedliteralwraps=true,
> verbatimhintsturnover=false,
> - """,
> + """),
> + "preamble": dedent(r"""
> + % Load kerneldoc specific LaTeX settings
> + \input{kerneldoc-preamble.sty}
> + """),
> #
> # Some of our authors are fond of deep nesting; tell latex to
> # cope.
> @@ -474,22 +495,8 @@ latex_elements = {
> "maxlistdepth": "10",
> # For CJK One-half spacing, need to be in front of hyperref
> "extrapackages": r"\usepackage{setspace}",
> - # Additional stuff for the LaTeX preamble.
> - "preamble": """
> - % Use some font with UTF-8 support with XeLaTeX
> - \\usepackage{fontspec}
> - \\setsansfont{DejaVu Sans}
> - \\setromanfont{DejaVu Serif}
> - \\setmonofont{DejaVu Sans Mono}
> - """,
> }
>
> -# Load kerneldoc specific LaTeX settings
> -latex_elements["preamble"] += """
> - % Load kerneldoc specific LaTeX settings
> - \\input{kerneldoc-preamble.sty}
> -"""
> -
> # This will be filled up by config-inited event
> latex_documents = []
>
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-20 7:15 ` Mauro Carvalho Chehab
@ 2025-08-20 11:41 ` Akira Yokosawa
2025-08-20 16:48 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-20 11:41 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Jonathan Corbet, linux-doc, linux-kernel, Akira Yokosawa
Hi,
On Wed, 20 Aug 2025 09:15:30 +0200, Mauro Carvalho Chehab wrote:
> Em Wed, 20 Aug 2025 08:54:52 +0900
> Akira Yokosawa <akiyks@gmail.com> escreveu:
>
>> On Tue, 19 Aug 2025 15:32:00 +0200, Mauro Carvalho Chehab wrote:
[...]
>> I've just built a container "FROM ubuntu:plucky", which has inkscape
>> instead of imagemagick + rsvg-convert.
>
> I don't think that inkscape x imagemagick/rsvg-convert itself has
> anyhting to do with the problems I detected, as they're related to
> font issues (still, I got an issue on one of my builds on kfigure
> write file: encoding is missing at open, which may cause errors).
OK, so you have spent a lot of time to paper over the ImageMagick issue
used as an SVG --> PDF converter.
I have simply given up using ImageMagick and been using inkscape instead.
I can reliably reproduce the warnings and build errors (see below) without
inkscape installed, instead with imagemagick + rsvg-convert installed,
under a ubuntu:plucky based container.
When I run: "make cleandocs; make SPHINXDIRS=gpu latexdocs",
[**NOTE**] SPHINXDIRS=peci is not affected by this issue!
kfigure.py emits warnings like this:
-----------------------------------------------------------------------------------
WARNING: Error #1 when calling: /usr/bin/convert /linux/Documentation/gpu/amdgpu/pipe_and_queue_abstraction.svg /linux/Documentation/output/gpu/latex/pipe_and_queue_abstraction.pdf
WARNING: Warning msg from convert(1): convert: unrecognized color `context-stroke' @ warning/color.c/GetColorCompliance/1064.
convert: non-conforming drawing primitive definition `fill' @ error/draw.c/RenderMVGContent/4548.
-----------------------------------------------------------------------------------
Nevertheless, "make SPHINXDIRS=gpu pdfdocs" continues building gpu.pdf,
but ends up in this error in the middle of xelatex run.
-----------------------------------------------------------------------------------
------------
Run number 1 of rule 'xelatex'
------------
------------
Running 'xelatex --no-pdf -interaction=batchmode -no-shell-escape -no-pdf -recorder "gpu.tex"'
------------
This is XeTeX, Version 3.141592653-2.6-0.999996 (TeX Live 2025/dev/Debian) (preloaded format=xelatex)
entering extended mode
Latexmk: Getting log file 'gpu.log'
Latexmk: Examining 'gpu.fls'
Latexmk: Examining 'gpu.log'
Latexmk: Index file 'gpu.idx' was written
Latexmk: References changed.
Latexmk: Missing input file 'gpu.toc' (or dependence on it) from following:
No file gpu.toc.
Latexmk: Missing input file 'gpu.ind' (or dependence on it) from following:
No file gpu.ind.
Latexmk: References changed.
Latexmk: References changed.
Latexmk: Log file says output to 'gpu.xdv'
Have index file 'gpu.idx', gpu.ind gpu
Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
xelatex: Command for 'xelatex' gave return code 1
Refer to 'gpu.log' and/or above output for details
Latexmk: Sometimes, the -f option can be used to get latexmk
to try to force complete processing.
But normally, you will need to correct the file(s) that caused the
error, and then rerun latexmk.
In some cases, it is best to clean out generated files before rerunning
latexmk after you've corrected the files.
make[3]: *** [Makefile:29: gpu.pdf] Error 12
make[2]: *** [Documentation/Makefile:148: pdfdocs] Error 1
make[1]: *** [/linux/Makefile:1806: pdfdocs] Error 2
make: *** [Makefile:248: __sub-make] Error 2
-----------------------------------------------------------------------------------
I think this is (mostly) the same as the issue you have been trying hard
to track down.
Lastly, I'm afraid but I have to tell you that I see the same error on my
test branch which has both of your series applied.
From "./scripts/sphinx-build-wrapper pdfdocs --sphinxdirs gpu":
-----------------------------------------------------------------------------------
------------
Run number 1 of rule 'xelatex'
------------
------------
Running 'xelatex --no-pdf -no-pdf -interaction=batchmode -no-shell-escape -recorder "/linux/Documentation/output/gpu/latex/gpu.tex"'
------------
This is XeTeX, Version 3.141592653-2.6-0.999996 (TeX Live 2025/dev/Debian) (preloaded format=xelatex)
entering extended mode
Latexmk: Getting log file 'gpu.log'
Latexmk: Examining 'gpu.fls'
Latexmk: Examining 'gpu.log'
Latexmk: Index file 'gpu.idx' was written
Latexmk: References changed.
Latexmk: Missing input file 'gpu.toc' (or dependence on it) from following:
No file gpu.toc.
Latexmk: Missing input file 'gpu.ind' (or dependence on it) from following:
No file gpu.ind.
Latexmk: References changed.
Latexmk: References changed.
Latexmk: Log file says output to 'gpu.xdv'
Have index file 'gpu.idx', gpu.ind gpu
Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
xelatex: Command for 'xelatex' gave return code 1
Refer to 'gpu.log' and/or above output for details
Latexmk: Sometimes, the -f option can be used to get latexmk
to try to force complete processing.
But normally, you will need to correct the file(s) that caused the
error, and then rerun latexmk.
In some cases, it is best to clean out generated files before rerunning
latexmk after you've corrected the files.
Summary
=======
gpu: FAILED
PDF build failed: not all PDF files were created.
-----------------------------------------------------------------------------------
Please test yourself with SPHINXDIRS=gpu and see what happens under your
test environment.
Thanks,
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-20 11:41 ` Akira Yokosawa
@ 2025-08-20 16:48 ` Mauro Carvalho Chehab
2025-08-20 23:53 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-20 16:48 UTC (permalink / raw)
To: Akira Yokosawa
Cc: Mauro Carvalho Chehab, Jonathan Corbet, linux-doc, linux-kernel
On Wed, Aug 20, 2025 at 08:41:05PM +0900, Akira Yokosawa wrote:
> Hi,
>
> On Wed, 20 Aug 2025 09:15:30 +0200, Mauro Carvalho Chehab wrote:
> > Em Wed, 20 Aug 2025 08:54:52 +0900
> > Akira Yokosawa <akiyks@gmail.com> escreveu:
> >
> >> On Tue, 19 Aug 2025 15:32:00 +0200, Mauro Carvalho Chehab wrote:
>
> [...]
>
> >> I've just built a container "FROM ubuntu:plucky", which has inkscape
> >> instead of imagemagick + rsvg-convert.
> >
> > I don't think that inkscape x imagemagick/rsvg-convert itself has
> > anyhting to do with the problems I detected, as they're related to
> > font issues (still, I got an issue on one of my builds on kfigure
> > write file: encoding is missing at open, which may cause errors).
>
> OK, so you have spent a lot of time to paper over the ImageMagick issue
> used as an SVG --> PDF converter.
Why are you insisting with this? Again:
This series doesn't try to address anything that would be caused
by either imagemagick/rsvg-convert - or inkscape.
It only address:
- wrong dependencies from the existing ones - whatever they are;
- non-UTF-8 fonts inside the produced *.tex files and a couple of other
issues at conf.py - none of them related to images.
>
> I have simply given up using ImageMagick and been using inkscape instead.
>
> I can reliably reproduce the warnings and build errors (see below) without
> inkscape installed, instead with imagemagick + rsvg-convert installed,
> under a ubuntu:plucky based container.
>
> When I run: "make cleandocs; make SPHINXDIRS=gpu latexdocs",
>
> [**NOTE**] SPHINXDIRS=peci is not affected by this issue!
>
> kfigure.py emits warnings like this:
I did got kfigure.py issues that can affect both inkscape and
imagemagic, but those are **NOT** in this series:
- the first issue is that python tries to write PDF output as
strings, but Python 3.x can crash because strings have
encodings. The default ascii encoding crashes with chars > 127
(and probably when there is a "\0" at the code);
- the second issue is that two files use ForeignObject, which
is not properly supported by inkscape or ImageMagick.
Still both seems to be working fine (I only tried to do
conversions by hand today).
I believe that we need to add kfigure.py on our TODO list
to make it more python 3.x friendly.
Again: this is out of the scope of this series.
================
> -----------------------------------------------------------------------------------
> WARNING: Error #1 when calling: /usr/bin/convert /linux/Documentation/gpu/amdgpu/pipe_and_queue_abstraction.svg /linux/Documentation/output/gpu/latex/pipe_and_queue_abstraction.pdf
> WARNING: Warning msg from convert(1): convert: unrecognized color `context-stroke' @ warning/color.c/GetColorCompliance/1064.
> convert: non-conforming drawing primitive definition `fill' @ error/draw.c/RenderMVGContent/4548.
> -----------------------------------------------------------------------------------
>
> Nevertheless, "make SPHINXDIRS=gpu pdfdocs" continues building gpu.pdf,
> but ends up in this error in the middle of xelatex run.
>
> -----------------------------------------------------------------------------------
> ------------
> Run number 1 of rule 'xelatex'
> ------------
> ------------
> Running 'xelatex --no-pdf -interaction=batchmode -no-shell-escape -no-pdf -recorder "gpu.tex"'
> ------------
> This is XeTeX, Version 3.141592653-2.6-0.999996 (TeX Live 2025/dev/Debian) (preloaded format=xelatex)
> entering extended mode
> Latexmk: Getting log file 'gpu.log'
> Latexmk: Examining 'gpu.fls'
> Latexmk: Examining 'gpu.log'
> Latexmk: Index file 'gpu.idx' was written
> Latexmk: References changed.
> Latexmk: Missing input file 'gpu.toc' (or dependence on it) from following:
> No file gpu.toc.
> Latexmk: Missing input file 'gpu.ind' (or dependence on it) from following:
> No file gpu.ind.
> Latexmk: References changed.
> Latexmk: References changed.
> Latexmk: Log file says output to 'gpu.xdv'
> Have index file 'gpu.idx', gpu.ind gpu
> Latexmk: Errors, so I did not complete making targets
> Collected error summary (may duplicate other messages):
> xelatex: Command for 'xelatex' gave return code 1
> Refer to 'gpu.log' and/or above output for details
>
> Latexmk: Sometimes, the -f option can be used to get latexmk
> to try to force complete processing.
> But normally, you will need to correct the file(s) that caused the
> error, and then rerun latexmk.
> In some cases, it is best to clean out generated files before rerunning
> latexmk after you've corrected the files.
> make[3]: *** [Makefile:29: gpu.pdf] Error 12
> make[2]: *** [Documentation/Makefile:148: pdfdocs] Error 1
> make[1]: *** [/linux/Makefile:1806: pdfdocs] Error 2
> make: *** [Makefile:248: __sub-make] Error 2
> -----------------------------------------------------------------------------------
>
> I think this is (mostly) the same as the issue you have been trying hard
> to track down.
No. Up to today(*), I was simply ignoring any warnings/errors related to
kfigure.py.
(*) earlier today I submitted exactly one patch related to it:
https://lore.kernel.org/linux-doc/df1602df0da3a6254d58a782654e7f2e60512dc8.1755680997.git.mchehab+huawei@kernel.org/
Even such patch is unrelated to Inkscape x ImageMagick. It is meant
to fix troubles during SVG/dot read and during PDF output writes.
-
As I've been replying over and over and over:
The issue was with [T1]{fontenc} added at the *.tex files
and/or the usage of other non-UTF-8 fonts.
That happens on very simple files. There are also font issues on some
distros affecting CJK related fonts due to missing packages and such.
What I pointed is:
I Don't know how you can setup an environment identical to
mine to reproduce the font issues I got.
-
If you want a more comprehensive answer:
LaTeX is highly dependent lots of packages, including fonts. The
reason why you can't reproduce the font issues with Docker
(I wasn't able to reproduce with Docker here as well) is
probably due to either packaging differences between the
two containers, due to different environment technologies
or even due to the way Docker and LXC handles OS virtualization.
Docker, for instance, doesn't have systemd running on it,
which could affect install logic at packages that could be
trying do something via systemd. I guess it also doesn't
implement cgroups. It also requires to download locales
package to setup locales (such package is already on lxc,
although not configured).
As the issue is related to fonts, different defaults with
regards to the fonts already installed at the containers
could be the root cause.
Also, installing any package (you name it) that might have
a direct or indirect dependency to a font can affect the
bug reproduction.
Installing inkscape, for instance, would directly require:
<snip>
# apt-cache depends inkscape
inkscape
Depends: librsvg2-common
Depends: <python3:any>
python3
Depends: lib2geom1.2.0t64
Depends: libatkmm-1.6-1v5
Depends: libboost-filesystem1.83.0
Depends: libc6
Depends: libcairo-gobject2
Depends: libcairo2
Depends: libcairomm-1.0-1v5
Depends: libcdr-0.1-1
Depends: libfontconfig1
Depends: libfreetype6
Depends: libgc1
Depends: libgcc-s1
Depends: libgdk-pixbuf-2.0-0
Depends: libglib2.0-0t64
Depends: libglibmm-2.4-1t64
Depends: libgomp1
Depends: libgsl28
Depends: libgspell-1-3
Depends: libgtk-3-0t64
Depends: libgtkmm-3.0-1t64
Depends: libharfbuzz0b
Depends: libjpeg8
Depends: liblcms2-2
Depends: libpango-1.0-0
Depends: libpangocairo-1.0-0
Depends: libpangoft2-1.0-0
Depends: libpangomm-1.4-1v5
Depends: libpng16-16t64
Depends: libpoppler-glib8t64
Depends: libpoppler147
Depends: libpotrace0
Depends: libreadline8t64
Depends: librevenge-0.0-0
Depends: libsigc++-2.0-0v5
Depends: libsoup-2.4-1
Depends: libstdc++6
Depends: libvisio-0.1-1
Depends: libwpg-0.3-3
Depends: libx11-6
Depends: libxml2
Depends: libxslt1.1
Depends: zlib1g
Recommends: aspell
Recommends: fig2dev
Recommends: imagemagick
graphicsmagick-imagemagick-compat
imagemagick-7.q16
Recommends: libimage-magick-perl
Recommends: libwmf-bin
Recommends: python3-cssselect
Recommends: python3-lxml
Recommends: python3-numpy
Recommends: python3-scour
Suggests: dia
Suggests: inkscape-tutorials
Suggests: libsvg-perl
Suggests: pstoedit
Suggests: python3-packaging
Suggests: <python3-uniconvertor>
Suggests: ruby
</snip>
No fonts listed there at the direct dependencies, so in principle,
installing or not Inkscape or imagemagik won't make any difference
at the installed fonts, or on installed texlive packages.
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-20 16:48 ` Mauro Carvalho Chehab
@ 2025-08-20 23:53 ` Akira Yokosawa
2025-08-21 0:09 ` Akira Yokosawa
0 siblings, 1 reply; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-20 23:53 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Jonathan Corbet, Akira Yokosawa, linux-doc, linux-kernel
Hi,
Commenting on your observation quoted below.
On Wed, 20 Aug 2025 18:48:10 +0200, Mauro Carvalho Chehab wrote:
[...]
> If you want a more comprehensive answer:
>
> LaTeX is highly dependent lots of packages, including fonts. The
> reason why you can't reproduce the font issues with Docker
> (I wasn't able to reproduce with Docker here as well) is
> probably due to either packaging differences between the
> two containers, due to different environment technologies
> or even due to the way Docker and LXC handles OS virtualization.
>
I'm not saying there is no difference between Docker and LXC.
Can you fill in ???? cells in the table below ?
Docker column is my observation of "FROM ubuntu:plucky" podman runs.
"make SPHINXDIRS=gpu pdfdocs" under Ubuntu Plucky
--------------- --------- ----------
SVG --> PDF Docker LXC
--------------- --------- ----------
imagemagick FAIL FAIL
inkscape SUCCESS ????
imagemagick [*] FAIL ????
--------------- --------- ----------
[*] after installing both inkscape and imagemagick, remove inkscape
with all its dependencies kept.
Do you see any difference between Docker and LXC columns in the table?
I'm all ears.
Regards,
Akira
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-20 23:53 ` Akira Yokosawa
@ 2025-08-21 0:09 ` Akira Yokosawa
2025-08-21 7:52 ` Mauro Carvalho Chehab
2025-08-21 9:12 ` Inkscape - Was: " Mauro Carvalho Chehab
0 siblings, 2 replies; 42+ messages in thread
From: Akira Yokosawa @ 2025-08-21 0:09 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Jonathan Corbet, linux-doc, linux-kernel, Akira Yokosawa
Hi,
Let me do a quick follow up.
I messed up the table.
On Thu, 21 Aug 2025 08:53:04 +0900, Akira Yokosawa wrote:
> Hi,
>
> Commenting on your observation quoted below.
>
> On Wed, 20 Aug 2025 18:48:10 +0200, Mauro Carvalho Chehab wrote:
> [...]
>
>> If you want a more comprehensive answer:
>>
>> LaTeX is highly dependent lots of packages, including fonts. The
>> reason why you can't reproduce the font issues with Docker
>> (I wasn't able to reproduce with Docker here as well) is
>> probably due to either packaging differences between the
>> two containers, due to different environment technologies
>> or even due to the way Docker and LXC handles OS virtualization.
>>
>
> I'm not saying there is no difference between Docker and LXC.
>
> Can you fill in ???? cells in the table below ?
I mean with this series applied
> Docker column is my observation of "FROM ubuntu:plucky" podman runs.
>
> "make SPHINXDIRS=gpu pdfdocs" under Ubuntu Plucky
>
I meant:
--------------- --------- ----------
SVG --> PDF Docker LXC
--------------- --------- ----------
imagemagick FAIL ????
inkscape SUCCESS ????
imagemagick [*] FAIL ????
--------------- --------- ----------
> --------------- --------- ----------
> SVG --> PDF Docker LXC
> --------------- --------- ----------
> imagemagick FAIL FAIL
> inkscape SUCCESS ????
> imagemagick [*] FAIL ????
> --------------- --------- ----------
>
> [*] after installing both inkscape and imagemagick, remove inkscape
> with all its dependencies kept.
>
> Do you see any difference between Docker and LXC columns in the table?
> I'm all ears.
>
> Regards,
> Akira
>
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-21 0:09 ` Akira Yokosawa
@ 2025-08-21 7:52 ` Mauro Carvalho Chehab
2025-08-21 7:56 ` Mauro Carvalho Chehab
2025-08-21 9:12 ` Inkscape - Was: " Mauro Carvalho Chehab
1 sibling, 1 reply; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-21 7:52 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: Jonathan Corbet, linux-doc, linux-kernel
Em Thu, 21 Aug 2025 09:09:41 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> Hi,
>
> Let me do a quick follow up.
> I messed up the table.
>
> On Thu, 21 Aug 2025 08:53:04 +0900, Akira Yokosawa wrote:
> > Hi,
> >
> > Commenting on your observation quoted below.
> >
> > On Wed, 20 Aug 2025 18:48:10 +0200, Mauro Carvalho Chehab wrote:
> > [...]
> >
> >> If you want a more comprehensive answer:
> >>
> >> LaTeX is highly dependent lots of packages, including fonts. The
> >> reason why you can't reproduce the font issues with Docker
> >> (I wasn't able to reproduce with Docker here as well) is
> >> probably due to either packaging differences between the
> >> two containers, due to different environment technologies
> >> or even due to the way Docker and LXC handles OS virtualization.
> >>
> >
> > I'm not saying there is no difference between Docker and LXC.
> >
> > Can you fill in ???? cells in the table below ?
> I mean with this series applied
>
> > Docker column is my observation of "FROM ubuntu:plucky" podman runs.
> >
> > "make SPHINXDIRS=gpu pdfdocs" under Ubuntu Plucky
> >
>
> I meant:
>
> --------------- --------- ----------
> SVG --> PDF Docker LXC
> --------------- --------- ----------
> imagemagick FAIL ????
> inkscape SUCCESS ????
> imagemagick [*] FAIL ????
> --------------- --------- ----------
This is after my series, with doesn't deal with imagemagick/inkscape,
it only fixes broken texlive dependencies and fix font handling:
# (dpkg -l |grep -i magick; dpkg -l |grep inkscape)|grep ii
ii imagemagick 8:7.1.1.43+dfsg1-1 amd64 image manipulation programs -- binaries
ii imagemagick-7-common 8:7.1.1.43+dfsg1-1 all image manipulation programs -- infrastructure
ii imagemagick-7.q16 8:7.1.1.43+dfsg1-1 amd64 image manipulation programs -- quantum depth Q16
ii libmagickcore-7.q16-10:amd64 8:7.1.1.43+dfsg1-1 amd64 low-level image manipulation library -- quantum depth Q16
ii libmagickwand-7.q16-10:amd64 8:7.1.1.43+dfsg1-1 amd64 image manipulation library -- quantum depth Q16
# make SPHINXDIRS=gpu pdfdocs
Summary
=======
gpu: gpu/pdf/gpu.pdf
All PDF files were built.
# rm -rf Documentation/output/gpu/*
# (dpkg -l |grep -i magick; dpkg -l |grep inkscape)|grep ii
ii imagemagick 8:7.1.1.43+dfsg1-1 amd64 image manipulation programs -- binaries
ii imagemagick-7-common 8:7.1.1.43+dfsg1-1 all image manipulation programs -- infrastructure
ii imagemagick-7.q16 8:7.1.1.43+dfsg1-1 amd64 image manipulation programs -- quantum depth Q16
ii libimage-magick-perl 8:7.1.1.43+dfsg1-1 all Perl interface to the ImageMagick graphics routines
ii libimage-magick-q16-perl 8:7.1.1.43+dfsg1-1 amd64 Perl interface to the ImageMagick graphics routines -- Q16 version
ii libmagickcore-7.q16-10:amd64 8:7.1.1.43+dfsg1-1 amd64 low-level image manipulation library -- quantum depth Q16
ii libmagickwand-7.q16-10:amd64 8:7.1.1.43+dfsg1-1 amd64 image manipulation library -- quantum depth Q16
ii inkscape
# rm -rf Documentation/output/gpu/*
# (dpkg -l |grep -i magick; dpkg -l |grep inkscape)|grep ii
ii inkscape 1.2.2-8build1 amd64 vector-based drawing program
# make SPHINXDIRS=gpu pdfdocs
Summary
=======
gpu: gpu/pdf/gpu.pdf
> > --------------- --------- ----------
> > SVG --> PDF Docker LXC
> > --------------- --------- ----------
> > imagemagick FAIL FAIL
> > inkscape SUCCESS ????
> > imagemagick [*] FAIL ????
> > --------------- --------- ----------
> >
> > [*] after installing both inkscape and imagemagick, remove inkscape
> > with all its dependencies kept.
> >
> > Do you see any difference between Docker and LXC columns in the table?
> > I'm all ears.
Yes. After having texlive dependencies fixed, and addressing the broken
conf.py file that is not aligned with modern Sphinx practices, it passed
on all three scenarios.
Please notice that addressing image was not the intent of this series.
The goal was *just* to fix texlive dependencies and fix text font
mapping that were causing troubles on Ubuntu and on other distros.
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-21 7:52 ` Mauro Carvalho Chehab
@ 2025-08-21 7:56 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-21 7:56 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: Jonathan Corbet, linux-doc, linux-kernel
Em Thu, 21 Aug 2025 09:52:21 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:
> Em Thu, 21 Aug 2025 09:09:41 +0900
> Akira Yokosawa <akiyks@gmail.com> escreveu:
>
> > Hi,
> >
> > Let me do a quick follow up.
> > I messed up the table.
> >
> > On Thu, 21 Aug 2025 08:53:04 +0900, Akira Yokosawa wrote:
> > > Hi,
> > >
> > > Commenting on your observation quoted below.
> > >
> > > On Wed, 20 Aug 2025 18:48:10 +0200, Mauro Carvalho Chehab wrote:
> > > [...]
> > >
> > >> If you want a more comprehensive answer:
> > >>
> > >> LaTeX is highly dependent lots of packages, including fonts. The
> > >> reason why you can't reproduce the font issues with Docker
> > >> (I wasn't able to reproduce with Docker here as well) is
> > >> probably due to either packaging differences between the
> > >> two containers, due to different environment technologies
> > >> or even due to the way Docker and LXC handles OS virtualization.
> > >>
> > >
> > > I'm not saying there is no difference between Docker and LXC.
> > >
> > > Can you fill in ???? cells in the table below ?
> > I mean with this series applied
> >
> > > Docker column is my observation of "FROM ubuntu:plucky" podman runs.
> > >
> > > "make SPHINXDIRS=gpu pdfdocs" under Ubuntu Plucky
> > >
> >
> > I meant:
> >
> > --------------- --------- ----------
> > SVG --> PDF Docker LXC
> > --------------- --------- ----------
> > imagemagick FAIL ????
> > inkscape SUCCESS ????
> > imagemagick [*] FAIL ????
> > --------------- --------- ----------
>
> This is after my series, with doesn't deal with imagemagick/inkscape,
> it only fixes broken texlive dependencies and fix font handling:
>
> # (dpkg -l |grep -i magick; dpkg -l |grep inkscape)|grep ii
> ii imagemagick 8:7.1.1.43+dfsg1-1 amd64 image manipulation programs -- binaries
> ii imagemagick-7-common 8:7.1.1.43+dfsg1-1 all image manipulation programs -- infrastructure
> ii imagemagick-7.q16 8:7.1.1.43+dfsg1-1 amd64 image manipulation programs -- quantum depth Q16
> ii libmagickcore-7.q16-10:amd64 8:7.1.1.43+dfsg1-1 amd64 low-level image manipulation library -- quantum depth Q16
> ii libmagickwand-7.q16-10:amd64 8:7.1.1.43+dfsg1-1 amd64 image manipulation library -- quantum depth Q16
>
> # make SPHINXDIRS=gpu pdfdocs
>
> Summary
> =======
> gpu: gpu/pdf/gpu.pdf
>
> All PDF files were built.
>
> # rm -rf Documentation/output/gpu/*
> # (dpkg -l |grep -i magick; dpkg -l |grep inkscape)|grep ii
> ii imagemagick 8:7.1.1.43+dfsg1-1 amd64 image manipulation programs -- binaries
> ii imagemagick-7-common 8:7.1.1.43+dfsg1-1 all image manipulation programs -- infrastructure
> ii imagemagick-7.q16 8:7.1.1.43+dfsg1-1 amd64 image manipulation programs -- quantum depth Q16
> ii libimage-magick-perl 8:7.1.1.43+dfsg1-1 all Perl interface to the ImageMagick graphics routines
> ii libimage-magick-q16-perl 8:7.1.1.43+dfsg1-1 amd64 Perl interface to the ImageMagick graphics routines -- Q16 version
> ii libmagickcore-7.q16-10:amd64 8:7.1.1.43+dfsg1-1 amd64 low-level image manipulation library -- quantum depth Q16
> ii libmagickwand-7.q16-10:amd64 8:7.1.1.43+dfsg1-1 amd64 image manipulation library -- quantum depth Q16
> ii inkscape
>
> # rm -rf Documentation/output/gpu/*
> # (dpkg -l |grep -i magick; dpkg -l |grep inkscape)|grep ii
> ii inkscape 1.2.2-8build1 amd64 vector-based drawing program
>
> # make SPHINXDIRS=gpu pdfdocs
>
> Summary
> =======
> gpu: gpu/pdf/gpu.pdf
>
> > > --------------- --------- ----------
> > > SVG --> PDF Docker LXC
> > > --------------- --------- ----------
> > > imagemagick FAIL FAIL
> > > inkscape SUCCESS ????
> > > imagemagick [*] FAIL ????
> > > --------------- --------- ----------
> > >
> > > [*] after installing both inkscape and imagemagick, remove inkscape
> > > with all its dependencies kept.
> > >
> > > Do you see any difference between Docker and LXC columns in the table?
> > > I'm all ears.
>
> Yes. After having texlive dependencies fixed, and addressing the broken
> conf.py file that is not aligned with modern Sphinx practices, it passed
> on all three scenarios.
>
> Please notice that addressing image was not the intent of this series.
>
> The goal was *just* to fix texlive dependencies and fix text font
> mapping that were causing troubles on Ubuntu and on other distros.
>
>
> Thanks,
> Mauro
Thanks,
Mauro
Hmm.. I ended doing the above tests with this patch on my pile.
It could be affecting the results, as it prevents kfigure.py to
crash when writing PDF output.
commit df1602df0da3a6254d58a782654e7f2e60512dc8
Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Date: Wed Aug 20 09:17:50 2025 +0200
docs: kfigure.py: don't crash during read/write
By default, Python does a very bad job when reading/writing
from files, as it tries to enforce that the character is < 128.
Nothing prevents a SVG file to contain, for instance, a comment
with an utf-8 accented copyright notice - or even an utf-8
invalid char.
While testing PDF and html builds, I recently faced one build
that got an error at kfigure.py saying that a char was > 128,
crashing PDF output.
To avoid such issues, let's use PEP 383 subrogate escape encoding
to prevent read/write errors on such cases.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
diff --git a/Documentation/sphinx/kfigure.py b/Documentation/sphinx/kfigure.py
index ad495c0da270..8ba07344a1c8 100644
--- a/Documentation/sphinx/kfigure.py
+++ b/Documentation/sphinx/kfigure.py
@@ -88,7 +88,7 @@ def mkdir(folder, mode=0o775):
os.makedirs(folder, mode)
def file2literal(fname):
- with open(fname, "r") as src:
+ with open(fname, "r", encoding='utf8', errors='surrogateescape') as src:
data = src.read()
node = nodes.literal_block(data, data)
return node
@@ -355,7 +355,7 @@ def dot2format(app, dot_fname, out_fname):
cmd = [dot_cmd, '-T%s' % out_format, dot_fname]
exit_code = 42
- with open(out_fname, "w") as out:
+ with open(out_fname, "w", encoding='utf8', errors='surrogateescape') as out:
exit_code = subprocess.call(cmd, stdout = out)
if exit_code != 0:
logger.warning(
@@ -533,7 +533,7 @@ def visit_kernel_render(self, node):
literal_block = node[0]
code = literal_block.astext()
- hashobj = code.encode('utf-8') # str(node.attributes)
+ hashobj = code.encode('utf-8', errors='surrogateescape')) # str(node.attributes)
fname = path.join('%s-%s' % (srclang, sha1(hashobj).hexdigest()))
tmp_fname = path.join(
@@ -541,7 +541,7 @@ def visit_kernel_render(self, node):
if not path.isfile(tmp_fname):
mkdir(path.dirname(tmp_fname))
- with open(tmp_fname, "w") as out:
+ with open(tmp_fname, "w", encoding='utf8', errors='surrogateescape') as out:
out.write(code)
img_node = nodes.image(node.rawsource, **node.attributes)
^ permalink raw reply related [flat|nested] 42+ messages in thread
* Inkscape - Was: Re: [PATCH 00/11] Fix PDF doc builds on major distros
2025-08-21 0:09 ` Akira Yokosawa
2025-08-21 7:52 ` Mauro Carvalho Chehab
@ 2025-08-21 9:12 ` Mauro Carvalho Chehab
1 sibling, 0 replies; 42+ messages in thread
From: Mauro Carvalho Chehab @ 2025-08-21 9:12 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: Jonathan Corbet, linux-doc, linux-kernel
Em Thu, 21 Aug 2025 09:09:41 +0900
Akira Yokosawa <akiyks@gmail.com> escreveu:
> Hi,
>
> Let me do a quick follow up.
> I messed up the table.
>
> On Thu, 21 Aug 2025 08:53:04 +0900, Akira Yokosawa wrote:
> > Hi,
> >
> > Commenting on your observation quoted below.
> >
> > On Wed, 20 Aug 2025 18:48:10 +0200, Mauro Carvalho Chehab wrote:
> > [...]
> >
> >> If you want a more comprehensive answer:
> >>
> >> LaTeX is highly dependent lots of packages, including fonts. The
> >> reason why you can't reproduce the font issues with Docker
> >> (I wasn't able to reproduce with Docker here as well) is
> >> probably due to either packaging differences between the
> >> two containers, due to different environment technologies
> >> or even due to the way Docker and LXC handles OS virtualization.
> >>
> >
> > I'm not saying there is no difference between Docker and LXC.
> >
> > Can you fill in ???? cells in the table below ?
> I mean with this series applied
>
> > Docker column is my observation of "FROM ubuntu:plucky" podman runs.
> >
> > "make SPHINXDIRS=gpu pdfdocs" under Ubuntu Plucky
> >
>
> I meant:
>
> --------------- --------- ----------
> SVG --> PDF Docker LXC
> --------------- --------- ----------
> imagemagick FAIL ????
> inkscape SUCCESS ????
> imagemagick [*] FAIL ????
> --------------- --------- ----------
>
> > --------------- --------- ----------
> > SVG --> PDF Docker LXC
> > --------------- --------- ----------
> > imagemagick FAIL FAIL
> > inkscape SUCCESS ????
> > imagemagick [*] FAIL ????
> > --------------- --------- ----------
> >
> > [*] after installing both inkscape and imagemagick, remove inkscape
> > with all its dependencies kept.
> >
> > Do you see any difference between Docker and LXC columns in the table?
> > I'm all ears.
I'm repeating my tests again. This time, it has just this
series applied:
https://lore.kernel.org/linux-doc/cover.1755763127.git.mchehab+huawei@kernel.org/T/#t
(without that, not even simple PDF docs build here via Sphinx on Ubuntu)
LXC container created from scratch, with a couple unrelated packages
to make life easier (things like ssh server) and with locale-gen
executed there.
After its creation, I copied the
relevant files from my machine to the container with:
for ip in 10.0.3.129; do for d in Documentation scripts Makefile arch include tools; do rsync -av --times --delete "$d" "root@$ip:/root" --exclude output/; done; done
Then, at the container (accessed via ssh):
# Sphinx pre-install recommendations
sudo apt-get install dvipng fonts-noto-cjk graphviz imagemagick latexmk librsvg2-bin tex-gyre texlive-fonts-recommended texlive-lang-chinese texlive-xetex
sudo apt-get install python3-sphinx
# Needed to avoid sphinx-build crashes
for i in $(set|grep LC|cut -d'=' -f1); do unset $i;done
export LC_ALL=C
export LANG=C
with that:
imagemagick: FAIL
inkscape: PASS
imagemagick(*): FAIL
I wonder if this is related to the kfigure.py bug of writing
a binary output with a file opened in "w" mode. In Python,
"w" crashes for characters > 127. It should instead be "wb".
Thanks,
Mauro
^ permalink raw reply [flat|nested] 42+ messages in thread
end of thread, other threads:[~2025-08-21 9:12 UTC | newest]
Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-15 11:36 [PATCH 00/11] Fix PDF doc builds on major distros Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 01/11] docs: Makefile: Fix LaTeX paper size settings Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 02/11] docs: conf.py: better handle latex documents Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 03/11] docs: conf.py: fix doc name with SPHINXDIRS Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 04/11] docs: conf.py: rename some vars at latex_documents logic Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 05/11] docs: conf.py: fix some troubles for LaTeX output Mauro Carvalho Chehab
2025-08-20 8:16 ` Akira Yokosawa
2025-08-15 11:36 ` [PATCH 06/11] scripts: sphinx-pre-install: fix PDF build issues on Ubuntu Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 07/11] scripts: sphinx-pre-install: add missing gentoo pdf dependencies Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 08/11] scripts: sphinx-pre-install: fix PDF dependencies for openSuse Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 09/11] scripts: sphinx-pre-install: fix dependencies for OpenMandriva Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 10/11] scripts: sphinx-pre-install: fix pdf dependencies for Mageia 9 Mauro Carvalho Chehab
2025-08-15 11:36 ` [PATCH 11/11] scripts: sphinx-pre-install: fix PDF dependencies for gentoo Mauro Carvalho Chehab
2025-08-16 5:06 ` [PATCH 00/11] Fix PDF doc builds on major distros Akira Yokosawa
2025-08-16 11:55 ` Mauro Carvalho Chehab
2025-08-17 9:46 ` Akira Yokosawa
2025-08-17 11:36 ` Mauro Carvalho Chehab
2025-08-17 12:24 ` Akira Yokosawa
2025-08-17 13:45 ` Mauro Carvalho Chehab
2025-08-17 16:07 ` Akira Yokosawa
2025-08-18 0:44 ` Akira Yokosawa
2025-08-18 9:42 ` Mauro Carvalho Chehab
2025-08-18 10:06 ` Akira Yokosawa
2025-08-18 11:35 ` Mauro Carvalho Chehab
2025-08-18 12:00 ` Akira Yokosawa
2025-08-18 17:07 ` Jonathan Corbet
2025-08-18 23:26 ` Akira Yokosawa
2025-08-19 1:02 ` Mauro Carvalho Chehab
2025-08-19 2:16 ` Akira Yokosawa
2025-08-19 13:32 ` Mauro Carvalho Chehab
2025-08-19 23:54 ` Akira Yokosawa
2025-08-20 7:15 ` Mauro Carvalho Chehab
2025-08-20 11:41 ` Akira Yokosawa
2025-08-20 16:48 ` Mauro Carvalho Chehab
2025-08-20 23:53 ` Akira Yokosawa
2025-08-21 0:09 ` Akira Yokosawa
2025-08-21 7:52 ` Mauro Carvalho Chehab
2025-08-21 7:56 ` Mauro Carvalho Chehab
2025-08-21 9:12 ` Inkscape - Was: " Mauro Carvalho Chehab
2025-08-18 16:59 ` Jonathan Corbet
2025-08-17 15:32 ` Vegard Nossum
2025-08-18 8:33 ` Mauro Carvalho Chehab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).