scripts/sphinx-pre-install | 2218 +++++++++++++++++++----------------- 1 file changed, 1164 insertions(+), 1054 deletions(-)
Hi Jon, This series port scripts/sphinx-pre-install to Python. It started as a bug-compatible version with the old logic. Yet, while testing it with lxc and some Docker images, I opted to also drop legacy logic from it and to add support for some additional variants compatible with existing detection logic. It also fixes some issues that were present at the proposed install procedures that don't work anymore with new distro versions. I ended writing some scripts I used internally to test it. Such scripts compare the diff output of both the .pl and .py version. The differences were only blank lines for gentoo and some warning reorder. The test script also ran the install procedure for system, venv and native Sphinx install. Since there are distros which has a default Python 3.6 (like openSuse and RHEL8), I opted to make the script compatible with it. Yet, internally it requires at least Python 3.7(*) to support the build. The tests were done with those containers, obtained from lxc download templates or via podman run: +--------------------|------------------------------|----------------+ | Name | release | container type | +--------------------+------------------------------+----------------+ | debian | bookworm | lxc | | ubuntu | plucky | lxc | | ubuntu-lts | noble | lxc | | almalinux | 9 | lxc | | archlinux | current | lxc | | gentoo | current | lxc | | opensuse | tumbleweed | lxc | | devuan | daedalus | lxc | | kali | current | lxc | | mint | wilma | lxc | | fedora | 42 | lxc | | centos | 9-Stream | lxc | | rockylinux | 9 | lxc | | oracle | 9 | lxc | | amazonlinux | 2023 | lxc | | openeuler | 25.03 | lxc | | springdalelinux | 9 | lxc | +--------------------+------------------------------+----------------+ | mageia | mageia:latest | docker | | openmandriva | openmandriva/4.0 | docker | | scientificlinux | eurolinux/scientific-linux-7 | docker | | rhel | redhat/ubi8 | docker | | opensuse-leap | opensuse/leap:15.6 | docker | +--------------------+------------------------------+----------------+ It succeeded to install either with venv or system package (most for both) for all those OSes: Detected OS : AlmaLinux release 9.6 (Sage Margay). Installing system_install : PASSED Installing venv : PASSED: Sphinx 7.4.7 Installing package_install : PASSED: Sphinx 3.4.3 Detected OS : Amazon Linux release 2023 (Amazon Linux). Installing system_install : PASSED Installing venv : PASSED: Sphinx 7.4.7 Installing package_install : PASSED: Sphinx 3.4.3 Detected OS : Arch Linux. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 8.2.3 Detected OS : CentOS Stream release 9. Installing system_install : PASSED Installing venv : PASSED: Sphinx 7.4.7 Installing package_install : PASSED: Sphinx 3.4.3 Detected OS : Debian GNU/Linux 12. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 5.3.0 Detected OS : Devuan GNU/Linux 5. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 5.3.0 Detected OS : Fedora release 42 (Adams). Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 8.1.3 Detected OS : Gentoo Base System release 2.17. Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 8.2.3 Detected OS : Kali GNU/Linux 2025.2. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 8.1.3 Detected OS : Mageia 9. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.1.3 Installing package_install : PASSED: Sphinx 6.1.3 Detected OS : Linux Mint 22. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.1.3 Installing package_install : PASSED: Sphinx 4.3.2 Detected OS : openEuler release 25.03. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 8.1.3 Detected OS : OpenMandriva Lx 4.0. Installing venv : WARNING: No such file or directory: 'sphinx-build' Installing package_install : PASSED: Sphinx 8.2.3 Detected OS : openSUSE Leap 15.6. Installing venv : WARNING: No such file or directory: 'sphinx-build' Installing package_install : PASSED: Sphinx 7.2.6 Detected OS : openSUSE Tumbleweed. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 8.2.3 Detected OS : Oracle Linux Server release 9.6. Installing system_install : PASSED Installing venv : PASSED: Sphinx 7.4.7 Installing package_install : WARNING: No such file or directory: 'sphinx-build' Detected OS : Rocky Linux release 9.6 (Blue Onyx). Installing system_install : PASSED Installing venv : PASSED: Sphinx 7.4.7 Installing package_install : PASSED: Sphinx 3.4.3 Detected OS : Springdale Open Enterprise Linux release 9.2 (Parma). Installing venv : PASSED: Sphinx 7.4.7 Installing package_install : PASSED: Sphinx 3.4.3 Detected OS : Ubuntu 24.04.2 LTS. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 7.2.6 Detected OS : Ubuntu 25.04. Installing system_install : PASSED Installing venv : PASSED: Sphinx 8.2.3 Installing package_install : PASSED: Sphinx 8.1.3 It also properly detected RHEL 8 string: Detected OS : Red Hat Enterprise Linux release 8.10 (Ootpa). Installing venv : WARNING: No such file or directory: 'sphinx-build' Installing package_install : WARNING: No such file or directory: 'sphinx-build' But, at this particular docker container, no repositories had python3-sphinx nor python3-virtualenv, but I suspect that this is a problem on this particular image, as I'm almost sure we tested RHEL 8 in the past, so, I have hopes that this could still work with real RHEL, if it has Python >= 3.7. Yet, our goal is to support the latest LTS version, so RHEL 8 is out of scope. (*) Officially, the minimal Python version we endorse is 3.9, as several Python scripts at the Kernel won't run with previous releases, but what we have for doc builds is currently compatible with 3.7. We may later increase it if you think it is a good idea. Yet, if you see the Sphinx version above, you'll notice that some venv installed 7.4.7 as the latest version. It means that such distros still have Python <= 3.9. Mauro Carvalho Chehab (15): scripts: sphinx-pre-install: fix version check for Fedora scripts: sphinx-pre-install: rename it to scripts/sphinx-pre-install.pl scripts: sphinx-pre-install: Convert script to Python scripts: sphinx-pre-install: Make it compatible with Python 3.6 scripts: sphinx-pre-install: run on a supported version scripts: sphinx-pre-install: drop obsolete routines scripts: sphinx-pre-install: drop support for old virtualenv scripts: sphinx-pre-install: Address issues with OpenSUSE Leap 15.x scripts: sphinx-pre-install.py fix opensuse hints scripts: sphinx-pre-install.py: fix support for gentoo scripts: sphinx-pre-install: Address issues with OpenSUSE Tumbleweed scripts: sphinx-pre-install.py: only show portage hints once scripts: sphinx-pre-install.py: cleanup rhel support docs: Makefile: switch to the new scripts/sphinx-pre-install.py scripts: sphinx-pre-install.pl: get rid of the old script scripts/sphinx-pre-install | 2218 +++++++++++++++++++----------------- 1 file changed, 1164 insertions(+), 1054 deletions(-) -- 2.50.0
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes: > Hi Jon, > > This series port scripts/sphinx-pre-install to Python. It started as > a bug-compatible version with the old logic. In my limited testing this seems to work just fine ... Unless somebody comes up with a problem, I don't see a lot of reasons to not apply it. Thanks, jon
Em Wed, 02 Jul 2025 17:03:54 -0600 Jonathan Corbet <corbet@lwn.net> escreveu: > Mauro Carvalho Chehab <mchehab+huawei@kernel.org> writes: > > > Hi Jon, > > > > This series port scripts/sphinx-pre-install to Python. It started as > > a bug-compatible version with the old logic. > > In my limited testing this seems to work just fine ... Unless somebody > comes up with a problem, I don't see a lot of reasons to not apply it. I'm coming up with a bigger patch series in a few. Just re-running the tests to see if everything is ok now. Thanks, Mauro
Hi Mauro, On Mon, 30 Jun 2025 23:34:48 +0200, Mauro Carvalho Chehab wrote: [...] > The test script also ran the install procedure for system, > venv and native Sphinx install. Which install procedure did you test? The short one with the "--no-pdf" option? I am asking because installing the full list of packages in podman run of opensuse/leap:15.6 didn't complete successfully for me. And by the look of things, you stopped at installation, because you are well aware of all the issues in running "make htmldocs" and its friends after the install. I assume you (or somebody else) are going to update the script once this series is applied to make the suggested lists of packages be useful for newcomers. > The tests were done with those containers, obtained from > lxc download templates or via podman run: [...] > It also properly detected RHEL 8 string: > > Detected OS : Red Hat Enterprise Linux release 8.10 (Ootpa). > Installing venv : WARNING: No such file or directory: 'sphinx-build' > Installing package_install : WARNING: No such file or directory: 'sphinx-build' > > But, at this particular docker container, no repositories had > python3-sphinx nor python3-virtualenv, but I suspect that this > is a problem on this particular image, as I'm almost sure we > tested RHEL 8 in the past, so, I have hopes that this could > still work with real RHEL, if it has Python >= 3.7. FWIW, almalinux 8 provides python3-sphinx in the "PowerTools" repo. It installs Sphinx 1.7.6 on top of python 3.6.8. python3-virtualenv is in the "AppStream" repo. It also comes with python 3.6.8. > > Yet, our goal is to support the latest LTS version, so > RHEL 8 is out of scope. Yes, I think it is reasonable to ignore RHEL 8 and its clones. For the record, here is a WIP scorecard of suggested procedure by actually running "make htmldocs" and its friends after installing distro packages (if it succeeds): ------------------------------------------------------------------------ * debian:12 htmldocs: OK latexdocs: NG Debian and its derivative prohibit convert(1) (of ImageMagick) from generating PDF by their default policy, so you'll get a bunch of: [while building userspace-api.tex] WARNING: Error #1 when calling: /usr/bin/convert /<srcdir>/Documentation/userspace-api/media/typical_media_device.svg /<srcdir>/Documentation/output/userspace-api/latex/typical_media_device.pdf WARNING: Warning msg from convert(1): convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/426. , and if you ignore them and try to build PDF, you'll get: [while building userspace-api.pdf] ! Dimension too large. \spx@boxes@fcolorbox ...dimexpr \ht \spx@tempboxa +\spx@boxes@border@top +\s... l.54887 \end{sphinxVerbatim} ? ! Emergency stop. \spx@boxes@fcolorbox ...dimexpr \ht \spx@tempboxa +\spx@boxes@border@top +\s... l.54887 \end{sphinxVerbatim} * fedora:latest (42) htmldocs: NG Container images of fedora has stopped having "which" as a command. You need to install it manually. After installing "which": OK pdfdocs: OK * opensuse/leap:15.6 htmldocs: NG After installing "which": OK latexdocs: NG Can't complete "zypper install" inside a podman container run using the full package list ??? ------------------------------------------------------------------------ Having look at these poor results, I don't see any reason to continue testing further. Regards, Akira
Em Tue, 8 Jul 2025 12:09:52 +0900 Akira Yokosawa <akiyks@gmail.com> escreveu: > Hi Mauro, > > On Mon, 30 Jun 2025 23:34:48 +0200, Mauro Carvalho Chehab wrote: > [...] > > > The test script also ran the install procedure for system, > > venv and native Sphinx install. > > Which install procedure did you test? The short one with the "--no-pdf" > option? No, I'm testing it with PDF. > I am asking because installing the full list of packages in podman run > of opensuse/leap:15.6 didn't complete successfully for me. I got a couple of extra fixes for Leap. Will be submitting in a few. > And by the look of things, you stopped at installation, because you are > well aware of all the issues in running "make htmldocs" and its friends > after the install. > > I assume you (or somebody else) are going to update the script once this > series is applied to make the suggested lists of packages be useful for > newcomers. I'm not actually building the docs, just checking that the script will install Sphinx and required dependencies. There are a couple of reasons for that: - the disk space on my desktop. Right now, I'm just copying the files instead of doing a Kernel git clone. Even so, testing all those distros is requiring about 100GB on my /var partition; - test time. Right now, I'm starting dozens of machines in lxc or podman in parallel. Still, it takes a lot of time to download and install all packages; - compilation build itself is out of the scope of the script. I'm pretty sure we'll have compilation issues(*). (*) on some RHEL-based distros, for instance, texlive-ctex package is not there (I guess version 8). so, I suspect that CJK builds may fail. Anyway, fore sure there will be space for improvements after it, and I really appreciate if you could send patches on the top of the new series addressing the issues. > > The tests were done with those containers, obtained from > > lxc download templates or via podman run: > [...] > > > It also properly detected RHEL 8 string: > > > > Detected OS : Red Hat Enterprise Linux release 8.10 (Ootpa). > > Installing venv : WARNING: No such file or directory: 'sphinx-build' > > Installing package_install : WARNING: No such file or directory: 'sphinx-build' > > > > But, at this particular docker container, no repositories had > > python3-sphinx nor python3-virtualenv, but I suspect that this > > is a problem on this particular image, as I'm almost sure we > > tested RHEL 8 in the past, so, I have hopes that this could > > still work with real RHEL, if it has Python >= 3.7. On this container, you can only install Sphinx with packages with a subscription, as the repository where it sits can't be enabled without registering. > FWIW, almalinux 8 provides python3-sphinx in the "PowerTools" repo. > It installs Sphinx 1.7.6 on top of python 3.6.8. > python3-virtualenv is in the "AppStream" repo. It also comes with > python 3.6.8. I added a version check on my test script. I'm opting to use rockylinux 8 instead, as it is meant to be 1:1 binary compatible with RHEL. I will provide the output for it at the next version. > > > > Yet, our goal is to support the latest LTS version, so > > RHEL 8 is out of scope. > > Yes, I think it is reasonable to ignore RHEL 8 and its clones. Yes, but still it may work with venv. I'm adjusting the script right now for it to propose installing python39 package and accepting install on venv. > For the record, here is a WIP scorecard of suggested procedure by > actually running "make htmldocs" and its friends after installing distro > packages (if it succeeds): > > ------------------------------------------------------------------------ > * debian:12 > > htmldocs: OK > latexdocs: NG > > Debian and its derivative prohibit convert(1) (of ImageMagick) from > generating PDF by their default policy, so you'll get a bunch of: > > [while building userspace-api.tex] > > WARNING: Error #1 when calling: /usr/bin/convert /<srcdir>/Documentation/userspace-api/media/typical_media_device.svg /<srcdir>/Documentation/output/userspace-api/latex/typical_media_device.pdf > WARNING: Warning msg from convert(1): convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/426. > > , and if you ignore them and try to build PDF, you'll get: > > [while building userspace-api.pdf] > > ! Dimension too large. > \spx@boxes@fcolorbox ...dimexpr \ht \spx@tempboxa > +\spx@boxes@border@top +\s... > l.54887 \end{sphinxVerbatim} > > ? > ! Emergency stop. > \spx@boxes@fcolorbox ...dimexpr \ht \spx@tempboxa > +\spx@boxes@border@top +\s... > l.54887 \end{sphinxVerbatim} I use Debian to regularly produce html results. It requires a change at ImageMagick policies for it to run. > * fedora:latest (42) > > htmldocs: NG > > Container images of fedora has stopped having "which" as a command. > You need to install it manually. After installing "which": OK Thanks for the feedback! I'm installing which on my container's setup, as my test scripts require it. I'll add a check to install it. > > pdfdocs: OK > > * opensuse/leap:15.6 > > htmldocs: NG > After installing "which": OK Will do the same here. > > latexdocs: NG > Can't complete "zypper install" inside a podman container run using the > full package list ??? I added some fixes for it. > Having look at these poor results, I don't see any reason to continue > testing further. Thanks for the feedback! Thanks, Mauro
Akira Yokosawa <akiyks@gmail.com> writes: > Hi Mauro, > > On Mon, 30 Jun 2025 23:34:48 +0200, Mauro Carvalho Chehab wrote: > [...] > >> The test script also ran the install procedure for system, >> venv and native Sphinx install. > > Which install procedure did you test? The short one with the "--no-pdf" > option? > > I am asking because installing the full list of packages in podman run > of opensuse/leap:15.6 didn't complete successfully for me. > > And by the look of things, you stopped at installation, because you are > well aware of all the issues in running "make htmldocs" and its friends > after the install. > > I assume you (or somebody else) are going to update the script once this > series is applied to make the suggested lists of packages be useful for > newcomers. Thanks for testing this out. My question would be: are the results somehow worse than those provided by the existing, Perl script? If this change regresses things, we obviously do not want to proceed. If it reproduces the old behavior in a more maintainable language, then hopefully it is a step toward fixing things in the long run ... ? Thanks, jon
On Tue, 08 Jul 2025 08:25:08 -0600, Jonathan Corbet wrote: > Akira Yokosawa <akiyks@gmail.com> writes: > >> Hi Mauro, >> >> On Mon, 30 Jun 2025 23:34:48 +0200, Mauro Carvalho Chehab wrote: >> [...] >> >>> The test script also ran the install procedure for system, >>> venv and native Sphinx install. >> >> Which install procedure did you test? The short one with the "--no-pdf" >> option? >> >> I am asking because installing the full list of packages in podman run >> of opensuse/leap:15.6 didn't complete successfully for me. >> >> And by the look of things, you stopped at installation, because you are >> well aware of all the issues in running "make htmldocs" and its friends >> after the install. >> >> I assume you (or somebody else) are going to update the script once this >> series is applied to make the suggested lists of packages be useful for >> newcomers. > > Thanks for testing this out. > > My question would be: are the results somehow worse than those provided > by the existing, Perl script? Not at all. Mauro made some improvements WRT opensuse/leap over the perl one, but there remain a lot of rooms for improvements here and there. I've been ignoring sphinx-pre-install all these years, but the impressive test results presented in this cover-letter made me test it. > If this change regresses things, we > obviously do not want to proceed. If it reproduces the old behavior in > a more maintainable language, then hopefully it is a step toward fixing > things in the long run ... ? Yes, translation into python would help a lot, I guess. Thanks, Akira
Em Tue, 8 Jul 2025 23:56:01 +0900 Akira Yokosawa <akiyks@gmail.com> escreveu: > > My question would be: are the results somehow worse than those provided > > by the existing, Perl script? > > Not at all. Mauro made some improvements WRT opensuse/leap over the perl > one, but there remain a lot of rooms for improvements here and there. > > I've been ignoring sphinx-pre-install all these years, but the impressive > test results presented in this cover-letter made me test it. I'm now working to fix PDF generation, assuming that all packages from sphinx-pre-install are installed. I'm placing the patches on my scratch tree at: https://github.com/mchehab/linux/tree/my-docs-next It contains several branches merged there in sequence: - elder_python_v1: makes kernel-doc run with elder kernels (2 patches); - netlink_v10: patches adding an yaml parser for netlink (14 patches); - sphinx-pre-install-v4: current version of this series (39 patches); - pdfdocs: specific fixes for PDF doc generation (11 patches); - sphinx-build-wrapper: a new script with a large cleanup at docs Makefile (7 patches) On my testbanch, this is the current summary, where: - PASSED: means both HTML and PDF were generated: PASSED - AlmaLinux release 9.6 (Sage Margay) (7 tests) PASSED - Amazon Linux release 2023 (Amazon Linux) (7 tests) PASSED - Arch Linux (7 tests) PASSED - CentOS Stream release 9 (7 tests) PASSED - Fedora release 42 (Adams) (7 tests) PASSED - Kali GNU/Linux 2025.2 (7 tests) PASSED - Mageia 9 (7 tests) PASSED - openSUSE Leap 15.6 (7 tests) PASSED - openSUSE Tumbleweed (7 tests) PASSED - Oracle Linux Server release 9.6 (7 tests) PASSED - Rocky Linux release 9.6 (Blue Onyx) (7 tests) PASSED - Ubuntu 24.04.2 LTS (7 tests) PASSED - Ubuntu 25.04 (7 tests) - PARTIAL: problems with PDF generation: Some PDF build files weren't built: PARTIAL - Debian GNU/Linux 12 (7 tests) PARTIAL - Devuan GNU/Linux 5 (7 tests) PARTIAL - Gentoo Base System release 2.17 (7 tests) PARTIAL - Linux Mint 22 (7 tests) PARTIAL - openEuler release 25.03 (7 tests) I didn't check the results here yet, but I suspect that the problems may be related to CJK fonts and/or images inside files. Packages installed, but no PDF were built: PARTIAL - OpenMandriva Lx 4.0 (7 tests) Here, the problem are at the distro LaTeX packages where xelatex doesn't work even with a really simple manually generated .tex file. - FAILED: something bad happened: FAILED - Red Hat Enterprise Linux release 8.10 (Ootpa) (7 tests) (no subscription: I can't install missing packages) FAILED - rockylinux8 (1 tests) (this started today: I can't download LXC container for it. Yesterday it got a PARTIAL result) FAILED - Springdale Open Enterprise Linux release 9.2 (Parma) (7 tests) (broken distro dependency for ImageMagick) So, at least for me, it seems that the changes will be fixing lots of existing issues. Btw, one of the problem with PDFs is that the existing logic doesn't really report success/failures for each PDF target. That's why I ended writing a wrapper (sphinx-build-wrapper) with checks the results. As a side effect, docs Makefile is now in sane state. Thanks, 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: 6:19, return code: 0 PASSED: Build PDF documentation: Build time: 11:51, 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: 6:23, 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 Arch Linux: ----------- PASSED: OS detection: Arch Linux 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: 5:11, return code: 0 PASSED: Build PDF documentation: Build time: 6: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 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: 6:20, return code: 0 PASSED: Build PDF documentation: Build time: 11:47, 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: 6:08, return code: 0 PARTIAL: Build PDF documentation: Test failed (Build time: 10:25, 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: 6:10, return code: 0 PARTIAL: Build PDF documentation: Test failed (Build time: 10:27, 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: 5:09, return code: 0 PASSED: Build PDF documentation: Build time: 10:27, 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 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 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: 3:20, return code: 0 PASSED: Build PDF documentation: Build time: 12:53, 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: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 Linux Mint 22: -------------- PASSED: OS detection: Linux Mint 22 SKIPPED (Sphinx Sphinx 4.3.2): 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:24, return code: 0 PARTIAL: Build PDF documentation: Test failed (Build time: 11:00, 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: 5:36, return code: 0 PARTIAL: Build PDF documentation: Test failed (Build time: 11:39, 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 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 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 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 OpenMandriva Lx 4.0: -------------------- PASSED: OS detection: OpenMandriva Lx 4.0 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:45, 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:33, return code: 0 PASSED: Build PDF documentation: Build time: 13:18, 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: 5:17, return code: 0 PASSED: Build PDF documentation: Build time: 11:30, 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 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) rockylinux8: ------------ FAILED: Build failed at package installation ( Failed to setup distrolib.distro_manager.CustomError: Failed to setup distro File "~/bin/doc-build-container.py", line 261, 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 2042, 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 612, in run_manager return await manager.serial_run() File "distro_manager.py", line 593, in serial_run await self.run_distro(distro) File "distro_manager.py", line 518, in run_distro self.record_status( ) 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: 5:07, return code: 0 PASSED: Build PDF documentation: Build time: 11:29, 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 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: 4:30, 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: 4:06, return code: 0 PASSED: Build PDF documentation: Build time: 10:38, 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 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 Summary ======= PASSED - AlmaLinux release 9.6 (Sage Margay) (7 tests) PASSED - Amazon Linux release 2023 (Amazon Linux) (7 tests) PASSED - Arch Linux (7 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.0 (7 tests) PASSED - openSUSE Leap 15.6 (7 tests) PASSED - openSUSE Tumbleweed (7 tests) PASSED - Oracle Linux Server release 9.6 (7 tests) FAILED - Red Hat Enterprise Linux release 8.10 (Ootpa) (7 tests) FAILED - rockylinux8 (1 tests) PASSED - Rocky Linux release 9.6 (Blue Onyx) (7 tests) FAILED - Springdale Open Enterprise Linux release 9.2 (Parma) (7 tests) PASSED - Ubuntu 24.04.2 LTS (7 tests) PASSED - Ubuntu 25.04 (7 tests)
Hi, On Thu, 31 Jul 2025 13:51:07 +0200, Mauro Carvalho Chehab wrote: > Em Tue, 8 Jul 2025 23:56:01 +0900 > Akira Yokosawa <akiyks@gmail.com> escreveu: > >> I've been ignoring sphinx-pre-install all these years, but the impressive >> test results presented in this cover-letter made me test it. > > I'm now working to fix PDF generation, assuming that all packages from > sphinx-pre-install are installed. > > I'm placing the patches on my scratch tree at: > https://github.com/mchehab/linux/tree/my-docs-next > > It contains several branches merged there in sequence: > - elder_python_v1: makes kernel-doc run with elder kernels (2 patches); > - netlink_v10: patches adding an yaml parser for netlink (14 patches); > - sphinx-pre-install-v4: current version of this series (39 patches); > - pdfdocs: specific fixes for PDF doc generation (11 patches); > - sphinx-build-wrapper: a new script with a large cleanup at docs Makefile > (7 patches) Sorry, but I've not looked into those branches. [...] > So, at least for me, it seems that the changes will be fixing > lots of existing issues. > > Btw, one of the problem with PDFs is that the existing logic > doesn't really report success/failures for each PDF target. > That's why I ended writing a wrapper (sphinx-build-wrapper) with > checks the results. As a side effect, docs Makefile is now in > sane state. I might be interested in seeing the docs Makefile updates. > > Thanks, > Mauro > > --- [...] > Summary > ======= > PASSED - AlmaLinux release 9.6 (Sage Margay) (7 tests) > PASSED - Amazon Linux release 2023 (Amazon Linux) (7 tests) > PASSED - Arch Linux (7 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.0 (7 tests) > PASSED - openSUSE Leap 15.6 (7 tests) > PASSED - openSUSE Tumbleweed (7 tests) > PASSED - Oracle Linux Server release 9.6 (7 tests) > FAILED - Red Hat Enterprise Linux release 8.10 (Ootpa) (7 tests) > FAILED - rockylinux8 (1 tests) > PASSED - Rocky Linux release 9.6 (Blue Onyx) (7 tests) > FAILED - Springdale Open Enterprise Linux release 9.2 (Parma) (7 tests) > PASSED - Ubuntu 24.04.2 LTS (7 tests) > PASSED - Ubuntu 25.04 (7 tests) Here is a summary I have made based on my own tests against limited list of distros. I'm still ignoring sphinx_pre_install. ----------------------------------------------------------------------- * TL;DR Setting up a tool for SVG --> PDF conversion and CJK fonts properly for "make latexdocs" and "make pdfdocs" is sometimes tricky. Summary table as of 2025/08/02 WRT distro packages installed as they are: [legends] pdf & img: pdfdocs with ImageMagick + rsvg-convert; w/o CJK fonts pdf & ink: pdfdocs with Inkscape; w/o CJK fonts pdf & cjk: pdfdocs with either ImageMagick or Inkscape; with CJK fonts ======================================================================== pdf ----------------- distro python3 sphinx html img ink cjk notes =================== ======= ======= ===== ===== ===== ===== ========= debian:bullseye 3.9.2 3.4.3 PASS FAIL PASS PASS [*0] debian:bookworm 3.11.2 5.3.0 PASS FAIL PASS PASS [*0] debian:trixie 3.13.5 8.1.3 PASS FAIL PASS PASS [*6] ubuntu:jammy 3.10.6 4.3.2 PASS FAIL PASS PASS [*0] ubuntu:noble 3.12.3 7.2.6 PASS FAIL PASS PASS [*6] ubuntu:plucky 3.13.3 8.1.3 PASS FAIL PASS PASS [*6] almalinux:9 3.9.21 3.4.3 PASS PASS PASS PASS almalinux:10 3.12.9 7.2.6 PASS PASS --- FAIL [*1] fedora:42 3.13.5 8.1.3 PASS PASS PASS PASS [*2] opensuse/leap:15.6 3.11.9 7.2.6 PASS PASS FAIL FAIL [*3] mageia:9 3.10.11 6.1.3 PASS PASS PASS PASS [*4] opensuse/tumbleweed 3.13.5 8.2.3 PASS PASS PASS FAIL [*5] archlinux 3.13.5 8.2.3 PASS PASS PASS PASS =================== ======= ======= ===== ===== ===== ===== ========== "FAIL" means several situations, most of which can be worked around by manual intervention after installing distro packages: (1) error/warning in "make latexdocs" (1-a) due to some issues in distro package that is not up-to-date (1-b) convert(1) of ImageMagick doesn't generate PDFs with the warning: WARNING: Warning msg from convert(1): convert: attempt to perform an operation not allowed by the security policy `PDF' ... (1-c) Incompatibility of newly added SVG figures with avalable SVG --> PDF converters: (1-c1) covert(1) + rsvg-convert(1) (1-c2) inkscape(1) (2) error in "make pdfdocs" (2-a) (1-b) or (1-c) can cause "LaTeX Warning: Float too large for page by <huge>pt" and ends up in the fatal error of xelatex: "! TeX capacity exceeded, sorry [main memory size=5000000]" (2-b) (1-b) or (1-c) can cause xelatex to error-exit without leaving any hint in the .log file. (3) CJK pages can't be rendered (3-a) due to missing *static* Noto CJK fonts in distro packages Notes ===== [*0] ImageMagick is not allowed to generate PDFs in Debian and its derivative releases prior to ubuntu:noble. [*1] An issue in cairo prevents a DOT diagram in a CJK page to be converted into PDF ("dot -Tpdf" crash; known issue with cairo-1.18.2-2.el10). Inkscape is not in EPEL 10. Use of flatpak is recommended for GUI apps, but flatpak apps don't see font setups of hosts by default. Serif shape Static Noto CJK fonts are not provided as distro packages. [*2] Due to a xelatex & fontspec limitation, if you have variable Noto CJK fonts installed, they need to be deny-listed for building PDF docs with CJK fonts. [*3] Sphinx 7.2.6 is provided as python311-Sphinx. Inkscape 1.0.1 crashes against figures drawn with Inkscape 1.4.x. Noto CJK fonts are not provided as distro packages. [*4] When Inkscape is available, their parallel runs under Gnome desktop can cause emergency saves of SVG files. This issue can be worked around by, e.g., building under a text-only session or a non-Gnome desktop. [*5] Static Noto CJK fonts are not provided as distro packages. Even if they are manually installed from Google fonts manually, deny-listing distro-provided variable ones is required for CJK pages. [*6] convert(1) + rsvg_convert(1) doesn't work well with some SVG files under recent debian and its derivatives. Incomplete list of examples: - Documentation/gpu/pipe_and_queue_abstraction.svg: convert: unrecognized color `context-stroke' @ warning/color.c/GetColorCompliance/1057. convert: non-conforming drawing primitive definition `fill' @ error/draw.c/RenderMVGContent/4456. - Documentation/userspace-api/media/v4l/selection.svg: convert: unrecognized color `dt' @ warning/color.c/GetColorCompliance/1064. convert: non-conforming drawing primitive definition `fill' @ error/draw.c/RenderMVGContent/4548. convert: unrecognized color `w' @ warning/color.c/GetColorCompliance/1064. convert: unrecognized color `dt' @ warning/color.c/GetColorCompliance/1064. convert: unrecognized color `w' @ warning/color.c/GetColorCompliance/1064. [about almalinux:8] There is a package python3.11, but there is no accompanying package for virtualenv in official EL 8 repos. It might be possible to install python3.11 as well as accompanying pip and pyyaml, and install modern Sphinx by non-venv pip. This might be feasible, e.g., in containerized setups. On top of almalinux:8, as far as I could test, xelatex & fontspec can't discover fonts by its names such as "DejaVu Sans". ----------------------------------------------------------------------- Thanks, Akira
Em Thu, 31 Jul 2025 13:51:07 +0200 Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu: > Em Tue, 8 Jul 2025 23:56:01 +0900 > Akira Yokosawa <akiyks@gmail.com> escreveu: > > > > My question would be: are the results somehow worse than those provided > > > by the existing, Perl script? > > > > Not at all. Mauro made some improvements WRT opensuse/leap over the perl > > one, but there remain a lot of rooms for improvements here and there. > > > > I've been ignoring sphinx-pre-install all these years, but the impressive > > test results presented in this cover-letter made me test it. > > I'm now working to fix PDF generation, assuming that all packages from > sphinx-pre-install are installed. > > I'm placing the patches on my scratch tree at: > https://github.com/mchehab/linux/tree/my-docs-next > > It contains several branches merged there in sequence: > - elder_python_v1: makes kernel-doc run with elder kernels (2 patches); > - netlink_v10: patches adding an yaml parser for netlink (14 patches); > - sphinx-pre-install-v4: current version of this series (39 patches); > - pdfdocs: specific fixes for PDF doc generation (11 patches); > - sphinx-build-wrapper: a new script with a large cleanup at docs Makefile > (7 patches) > > On my testbanch, this is the current summary, where: > - PASSED: means both HTML and PDF were generated: > > PASSED - AlmaLinux release 9.6 (Sage Margay) (7 tests) > PASSED - Amazon Linux release 2023 (Amazon Linux) (7 tests) > PASSED - Arch Linux (7 tests) > PASSED - CentOS Stream release 9 (7 tests) > PASSED - Fedora release 42 (Adams) (7 tests) > PASSED - Kali GNU/Linux 2025.2 (7 tests) > PASSED - Mageia 9 (7 tests) > PASSED - openSUSE Leap 15.6 (7 tests) > PASSED - openSUSE Tumbleweed (7 tests) > PASSED - Oracle Linux Server release 9.6 (7 tests) > PASSED - Rocky Linux release 9.6 (Blue Onyx) (7 tests) > PASSED - Ubuntu 24.04.2 LTS (7 tests) > PASSED - Ubuntu 25.04 (7 tests) Forgot to mention, but for Debian-based distros, my setup does this at the distro setup phase: 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 to fix a debian-specific packaging issue that makes ImageMagick to fail when it is used with PS/PDF files. Regards,Mauro
Em Tue, 8 Jul 2025 23:56:01 +0900 Akira Yokosawa <akiyks@gmail.com> escreveu: > On Tue, 08 Jul 2025 08:25:08 -0600, Jonathan Corbet wrote: > > Akira Yokosawa <akiyks@gmail.com> writes: > > > >> Hi Mauro, > >> > >> On Mon, 30 Jun 2025 23:34:48 +0200, Mauro Carvalho Chehab wrote: > >> [...] > >> > >>> The test script also ran the install procedure for system, > >>> venv and native Sphinx install. > >> > >> Which install procedure did you test? The short one with the "--no-pdf" > >> option? > >> > >> I am asking because installing the full list of packages in podman run > >> of opensuse/leap:15.6 didn't complete successfully for me. > >> > >> And by the look of things, you stopped at installation, because you are > >> well aware of all the issues in running "make htmldocs" and its friends > >> after the install. > >> > >> I assume you (or somebody else) are going to update the script once this > >> series is applied to make the suggested lists of packages be useful for > >> newcomers. > > > > Thanks for testing this out. > > > > My question would be: are the results somehow worse than those provided > > by the existing, Perl script? > > Not at all. Mauro made some improvements WRT opensuse/leap over the perl > one, but there remain a lot of rooms for improvements here and there. On my tests, the results are better, and more variants are supported. Those are the current results for my test script (on the version I'm yet to submit): AlmaLinux release 9.6 (Sage Margay): ------------------------------------ PASSED 1 - OS: AlmaLinux release 9.6 (Sage Margay), Python: 3.9.21, hostname: almalinux-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 7.4.7, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 3.4.3, Docutils 0.16 Arch Linux: ----------- PASSED 1 - OS: Arch Linux, Python: 3.13.5 PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 8.2.3, Docutils 0.21.2 CentOS Stream release 9: ------------------------ PASSED 1 - OS: CentOS Stream release 9, Python: 3.9.23, hostname: centos-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 7.4.7, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 3.4.3, Docutils 0.16 Debian GNU/Linux 12: -------------------- PASSED 1 - OS: Debian GNU/Linux 12, Python: 3.11.2, hostname: debian-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 5.3.0, Docutils 0.19 Devuan GNU/Linux 5: ------------------- PASSED 1 - OS: Devuan GNU/Linux 5, Python: 3.11.2, hostname: devuan-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 5.3.0, Docutils 0.19 Fedora release 42 (Adams): -------------------------- PASSED 1 - OS: Fedora release 42 (Adams), Python: 3.13.5 PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 8.1.3, Docutils 0.21.2 Gentoo Base System release 2.17: -------------------------------- PASSED 1 - OS: Gentoo Base System release 2.17, Python: 3.13.3 PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 8.2.3, Docutils 0.21.2 Kali GNU/Linux 2025.2: ---------------------- PASSED 1 - OS: Kali GNU/Linux 2025.2, Python: 3.13.3, hostname: kali-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 8.1.3, Docutils 0.21.2 Mageia 9: --------- PASSED 1 - OS: Mageia 9, Python: 3.10.11, hostname: mageia-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.1.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 6.1.3, Docutils 0.19 Linux Mint 22: -------------- PASSED 1 - OS: Linux Mint 22, Python: 3.10.12, hostname: mint-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.1.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 4.3.2, Docutils 0.17.1 openEuler release 25.03: ------------------------ PASSED 1 - OS: openEuler release 25.03, Python: 3.11.11, hostname: openeuler-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 8.1.3, Docutils 0.21.2 OpenMandriva Lx 4.3: -------------------- PASSED 1 - OS: OpenMandriva Lx 4.3, Python: 3.9.8, hostname: openmandriva-test FAILED 2 - System packages: Error: Unable to find a match: ensurepip FAILED 3 - Sphinx on venv PASSED 4 - Sphinx package: Sphinx Sphinx 4.3.2, Docutils 0.17 openSUSE Tumbleweed: -------------------- PASSED 1 - OS: openSUSE Tumbleweed, Python: 3.13.5, hostname: opensuse-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 8.2.3, Docutils 0.21.2 Rocky Linux release 8.9 (Green Obsidian): ----------------------------------------- PASSED 1 - OS: Rocky Linux release 8.9 (Green Obsidian), Python: 3.6.8, hostname: rockylinux8-test PASSED 2 - System packages: Packages installed. FAILED 3 - Sphinx on venv: No Sphinx version! FAILED 4 - Sphinx package: No Sphinx version! Rocky Linux release 9.6 (Blue Onyx): ------------------------------------ PASSED 1 - OS: Rocky Linux release 9.6 (Blue Onyx), Python: 3.9.21, hostname: rockylinux-test FAILED 2 - System packages: Errors during downloading metadata for repository 'epel': - Curl error (28): Timeout was reached for http://ftp.rediris.es/mirror/fedora-epel/9/Everything/x86_64/repodata/repomd.xml [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds] - Curl error (28): Timeout was reached for https://mirror.yandex.ru/epel/9/Everything/x86_64/repodata/repomd.xml [Failed to connect to mirror.yandex.ru port 443: Connection timed out] - Downloading successful, but checksum doesn't match. Calculated: ae3b260e2d12fd111887d36ddd99b22dda9d038b2ce8b1240495e7dedf3eeca4a85e5c1ef10488649c614a3029cb790a0230dbd1a9bb1d20d5d868bcd3ce3bb6(sha512) Expected: 0b6aa1cb918981a1fa6712a14d80968d6bf4e7f121268f90cd5573edb21a36b40f6ec34f8668180c4048eb01afd2938941af61d61304383c858917ed7f2b98de(sha512) - Curl error (28): Timeout was reached for https://fr2.rpmfind.net/linux/epel/9/Everything/x86_64/repodata/repomd.xml [Operation timed out after 30000 milliseconds with 0 out of 0 bytes received] Error: Failed to download metadata for repo 'epel': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried PASSED 3 - Sphinx on venv: Sphinx Sphinx 7.4.7, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 3.4.3, Docutils 0.16 Springdale Open Enterprise Linux release 9.2 (Parma): ----------------------------------------------------- PASSED 1 - OS: Springdale Open Enterprise Linux release 9.2 (Parma), Python: 3.9.16, hostname: springdalelinux-test FAILED 2 - 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 3 - Sphinx on venv: Sphinx Sphinx 7.4.7, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 3.4.3, Docutils 0.16 Ubuntu 24.04.2 LTS: ------------------- PASSED 1 - OS: Ubuntu 24.04.2 LTS, Python: 3.12.3, hostname: ubuntu-lts-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 7.2.6, Docutils 0.20.1 Ubuntu 25.04: ------------- PASSED 1 - OS: Ubuntu 25.04, Python: 3.13.3, hostname: ubuntu-test PASSED 2 - System packages: Packages installed. PASSED 3 - Sphinx on venv: Sphinx Sphinx 8.2.3, Docutils 0.21.2 PASSED 4 - Sphinx package: Sphinx Sphinx 8.1.3, Docutils 0.21.2 Summary ======= PASSED: AlmaLinux release 9.6 (Sage Margay) (4 passed, 0 failed, 0 skipped) PASSED: Arch Linux (4 passed, 0 failed, 0 skipped) PASSED: CentOS Stream release 9 (4 passed, 0 failed, 0 skipped) PASSED: Debian GNU/Linux 12 (4 passed, 0 failed, 0 skipped) PASSED: Devuan GNU/Linux 5 (4 passed, 0 failed, 0 skipped) PASSED: Fedora release 42 (Adams) (4 passed, 0 failed, 0 skipped) PASSED: Gentoo Base System release 2.17 (4 passed, 0 failed, 0 skipped) PASSED: Kali GNU/Linux 2025.2 (4 passed, 0 failed, 0 skipped) PASSED: Mageia 9 (4 passed, 0 failed, 0 skipped) PASSED: Linux Mint 22 (4 passed, 0 failed, 0 skipped) PASSED: openEuler release 25.03 (4 passed, 0 failed, 0 skipped) PARTIAL: OpenMandriva Lx 4.3 (2 passed, 2 failed, 0 skipped) PASSED: openSUSE Tumbleweed (4 passed, 0 failed, 0 skipped) PARTIAL: Rocky Linux release 8.9 (Green Obsidian) (2 passed, 2 failed, 0 skipped) PARTIAL: Rocky Linux release 9.6 (Blue Onyx) (3 passed, 1 failed, 0 skipped) PARTIAL: Springdale Open Enterprise Linux release 9.2 (Parma) (3 passed, 1 failed, 0 skipped) PASSED: Ubuntu 24.04.2 LTS (4 passed, 0 failed, 0 skipped) PASSED: Ubuntu 25.04 (4 passed, 0 failed, 0 skipped) So, basically: - OpenMandriva LX 4.3 (*): - I didn't find a way to make pip work there. Not critical, as Sphinx installs as package. - Perl script is not OK for it. - RHEL8 variants: - Installing Sphinx as packages is not possible (Python 3.6) - Installing as venv is possible, but I need to adjust the script. - Perl script is not OK for it. - The error with Rocky Linux 9 is just because its mirrors are slow now. It passed already on previous tests. Yeah, there will always be room for improvements. (*) Testing this one was not easy, as the docker image for it is half-broken. The image: https://hub.docker.com/r/openmandriva/4.0 is for LX4.0, but dnf points to wrong repositories. I had to do some tricks to fix the repositories to the ones that actually exist those days, using the tricks below: "sed s,enabled=1,enabled=0, -i /etc/yum.repos.d/*" "sed s,4.0,4.3, -i /etc/yum.repos.d/openmandriva-x86_64.repo" "dnf update --repo release-x86_64 --releasever 4.3 -y" "rm -rf /var/lib/rpm; rpm --rebuilddb" "sed -i \"/^\\[openmandriva-x86_64\\]/,/^\\[/ s/^enabled=0/enabled=1/\" /etc/yum.repos.d/openmandriva-x86_64.repo" "sed -i \"/^\\[updates-x86_64\\]/,/^\\[/ s/^enabled=0/enabled=1/\" /etc/yum.repos.d/openmandriva-x86_64.repo" "dnf install -y passwd which net-tools openssh-server git python3 tar diffutils --releasever 4.3 -y" "groupadd -r sshd || true" "useradd -r -g sshd -s /sbin/nologin -c 'Privilege-separated SSH' sshd || true" The above upgrades the container to LX 4.3 on a not recommended way ;-) It also prepares the container to start sshd if one needs to copy files to it via scp (sometimes I do, when I want to quickly test changes at the scripts). I couldn't find any newer container repository that could be installed either via lxc or docker. > I've been ignoring sphinx-pre-install all these years, but the impressive > test results presented in this cover-letter made me test it. > > > If this change regresses things, we > > obviously do not want to proceed. If it reproduces the old behavior in > > a more maintainable language, then hopefully it is a step toward fixing > > things in the long run ... ? > > Yes, translation into python would help a lot, I guess. That's what I'm hoping as well ;-) Regards, Mauro
© 2016 - 2025 Red Hat, Inc.