]> www.infradead.org Git - users/willy/linux.git/commitdiff
docs: sphinx: add a file with the requirements for lowest version
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sun, 22 Jun 2025 06:02:42 +0000 (08:02 +0200)
committerJonathan Corbet <corbet@lwn.net>
Wed, 25 Jun 2025 18:22:48 +0000 (12:22 -0600)
Those days, it is hard to install a virtual env that would
build docs with Sphinx 3.4.3, as even python 3.13 is not
compatible anymore with it.

/usr/bin/python3.9 -m venv sphinx_3.4.3
. sphinx_3.4.3/bin/activate
pip install -r Documentation/sphinx/min_requirements.txt

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/e38a44ee64ebfa37eac5f64e47af51c7ac051d5a.1750571906.git.mchehab+huawei@kernel.org
Documentation/doc-guide/sphinx.rst
Documentation/sphinx/min_requirements.txt [new file with mode: 0644]

index 5a91df1051413ec29452f3358c55917b9a57deca..607589592bfbde740a498334974cbefa8bb3a430 100644 (file)
@@ -131,6 +131,29 @@ It supports two optional parameters:
 ``--no-virtualenv``
        Use OS packaging for Sphinx instead of Python virtual environment.
 
+Installing Sphinx Minimal Version
+---------------------------------
+
+When changing Sphinx build system, it is important to ensure that
+the minimal version will still be supported. Nowadays, it is
+becoming harder to do that on modern distributions, as it is not
+possible to install with Python 3.13 and above.
+
+Testing with the lowest supported Python version as defined at
+Documentation/process/changes.rst can be done by creating
+a venv with it with, and install minimal requirements with::
+
+       /usr/bin/python3.9 -m venv sphinx_min
+       . sphinx_min/bin/activate
+       pip install -r Documentation/sphinx/min_requirements.txt
+
+A more comprehensive test can be done by using:
+
+       scripts/test_doc_build.py
+
+Such script create one Python venv per supported version,
+optionally building documentation for a range of Sphinx versions.
+
 
 Sphinx Build
 ============
diff --git a/Documentation/sphinx/min_requirements.txt b/Documentation/sphinx/min_requirements.txt
new file mode 100644 (file)
index 0000000..52d9f27
--- /dev/null
@@ -0,0 +1,10 @@
+alabaster >=0.7,<0.8
+docutils>=0.15,<0.18
+jinja2>=2.3,<3.1
+PyYAML>=5.1,<6.1
+Sphinx==3.4.3
+sphinxcontrib-applehelp==1.0.2
+sphinxcontrib-devhelp==1.0.1
+sphinxcontrib-htmlhelp==1.0.3
+sphinxcontrib-qthelp==1.0.2
+sphinxcontrib-serializinghtml==1.1.4