docs: scripts: sphinx-pre-install: Fix building docs with pyyaml package
authorThorsten Blum <thorsten.blum@toblux.com>
Thu, 8 Feb 2024 20:55:51 +0000 (21:55 +0100)
committerJonathan Corbet <corbet@lwn.net>
Wed, 14 Feb 2024 22:32:03 +0000 (15:32 -0700)
The Python module pyyaml is required to build the docs, but it is only
listed in Documentation/sphinx/requirements.txt and is therefore missing
when Sphinx is installed as a package and not via pip/pypi.

Add pyyaml as an optional package for multiple distros to fix building the
docs if you prefer to install Sphinx as a package.

Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
Reviewed-by: Vegard Nossum <vegard.nossum@oracle.com>
Tested-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240208205550.984-1-thorsten.blum@toblux.com
scripts/sphinx-pre-install

index 948f284..de0de5d 100755 (executable)
@@ -361,6 +361,7 @@ sub give_debian_hints()
 {
        my %map = (
                "python-sphinx"         => "python3-sphinx",
+               "yaml"                  => "python3-yaml",
                "ensurepip"             => "python3-venv",
                "virtualenv"            => "virtualenv",
                "dot"                   => "graphviz",
@@ -395,6 +396,7 @@ sub give_redhat_hints()
 {
        my %map = (
                "python-sphinx"         => "python3-sphinx",
+               "yaml"                  => "python3-pyyaml",
                "virtualenv"            => "python3-virtualenv",
                "dot"                   => "graphviz",
                "convert"               => "ImageMagick",
@@ -477,6 +479,7 @@ sub give_opensuse_hints()
 {
        my %map = (
                "python-sphinx"         => "python3-sphinx",
+               "yaml"                  => "python3-pyyaml",
                "virtualenv"            => "python3-virtualenv",
                "dot"                   => "graphviz",
                "convert"               => "ImageMagick",
@@ -956,6 +959,7 @@ sub check_needs()
 
        # Check for needed programs/tools
        check_perl_module("Pod::Usage", 0);
+       check_python_module("yaml", 0);
        check_program("make", 0);
        check_program("gcc", 0);
        check_program("dot", 1);