mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
docs: drop the version constraints for sphinx and dependencies
As discussed (see Links), there is some inertia to move to the recent Sphinx versions for the doc build environment. As first step, drop the version constraints and the related comments. As sphinx depends on jinja2, jinja2 is pulled in automatically. So drop that. Then, the sphinx-pre-install script will fail though with: Can't get default sphinx version from ./Documentation/sphinx/requirements.txt at ./scripts/sphinx-pre-install line 305. The script simply expects to parse a version constraint with Sphinx in the requirements.txt. That version is used in the script for suggesting the virtualenv directory name. To suggest a virtualenv directory name, when there is no version given in the requirements.txt, one could try to guess the version that would be downloaded with 'pip install -r Documentation/sphinx/requirements.txt'. However, there seems no simple way to get that version without actually setting up the venv and running pip. So, instead, name the directory with the fixed name 'sphinx_latest'. Finally update the Sphinx build documentation to reflect this directory name change. Link: https://lore.kernel.org/linux-doc/874jf4m384.fsf@meer.lwn.net/ Link: https://lore.kernel.org/linux-doc/20240226093854.47830-1-lukas.bulwahn@gmail.com/ Reviewed-by: Akira Yokosawa <akiyks@gmail.com> Tested-by: Vegard Nossum <vegard.nossum@oracle.com> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20240301141800.30218-1-lukas.bulwahn@gmail.com>
This commit is contained in:
parent
0df46e0991
commit
b31274d58d
@ -48,13 +48,14 @@ or ``virtualenv``, depending on how your distribution packaged Python 3.
|
|||||||
on the Sphinx version, it should be installed separately,
|
on the Sphinx version, it should be installed separately,
|
||||||
with ``pip install sphinx_rtd_theme``.
|
with ``pip install sphinx_rtd_theme``.
|
||||||
|
|
||||||
In summary, if you want to install Sphinx version 2.4.4, you should do::
|
In summary, if you want to install the latest version of Sphinx, you
|
||||||
|
should do::
|
||||||
|
|
||||||
$ virtualenv sphinx_2.4.4
|
$ virtualenv sphinx_latest
|
||||||
$ . sphinx_2.4.4/bin/activate
|
$ . sphinx_latest/bin/activate
|
||||||
(sphinx_2.4.4) $ pip install -r Documentation/sphinx/requirements.txt
|
(sphinx_latest) $ pip install -r Documentation/sphinx/requirements.txt
|
||||||
|
|
||||||
After running ``. sphinx_2.4.4/bin/activate``, the prompt will change,
|
After running ``. sphinx_latest/bin/activate``, the prompt will change,
|
||||||
in order to indicate that you're using the new environment. If you
|
in order to indicate that you're using the new environment. If you
|
||||||
open a new shell, you need to rerun this command to enter again at
|
open a new shell, you need to rerun this command to enter again at
|
||||||
the virtual environment before building the documentation.
|
the virtual environment before building the documentation.
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
# jinja2>=3.1 is not compatible with Sphinx<4.0
|
alabaster
|
||||||
jinja2<3.1
|
Sphinx
|
||||||
# alabaster>=0.7.14 is not compatible with Sphinx<=3.3
|
|
||||||
alabaster<0.7.14
|
|
||||||
Sphinx==2.4.4
|
|
||||||
pyyaml
|
pyyaml
|
||||||
|
@ -280,8 +280,6 @@ sub get_sphinx_version($)
|
|||||||
|
|
||||||
sub check_sphinx()
|
sub check_sphinx()
|
||||||
{
|
{
|
||||||
my $default_version;
|
|
||||||
|
|
||||||
open IN, $conf or die "Can't open $conf";
|
open IN, $conf or die "Can't open $conf";
|
||||||
while (<IN>) {
|
while (<IN>) {
|
||||||
if (m/^\s*needs_sphinx\s*=\s*[\'\"]([\d\.]+)[\'\"]/) {
|
if (m/^\s*needs_sphinx\s*=\s*[\'\"]([\d\.]+)[\'\"]/) {
|
||||||
@ -293,18 +291,7 @@ sub check_sphinx()
|
|||||||
|
|
||||||
die "Can't get needs_sphinx version from $conf" if (!$min_version);
|
die "Can't get needs_sphinx version from $conf" if (!$min_version);
|
||||||
|
|
||||||
open IN, $requirement_file or die "Can't open $requirement_file";
|
$virtenv_dir = $virtenv_prefix . "latest";
|
||||||
while (<IN>) {
|
|
||||||
if (m/^\s*Sphinx\s*==\s*([\d\.]+)$/) {
|
|
||||||
$default_version=$1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close IN;
|
|
||||||
|
|
||||||
die "Can't get default sphinx version from $requirement_file" if (!$default_version);
|
|
||||||
|
|
||||||
$virtenv_dir = $virtenv_prefix . $default_version;
|
|
||||||
|
|
||||||
my $sphinx = get_sphinx_fname();
|
my $sphinx = get_sphinx_fname();
|
||||||
if ($sphinx eq "") {
|
if ($sphinx eq "") {
|
||||||
@ -318,8 +305,8 @@ sub check_sphinx()
|
|||||||
die "$sphinx didn't return its version" if (!$cur_version);
|
die "$sphinx didn't return its version" if (!$cur_version);
|
||||||
|
|
||||||
if ($cur_version lt $min_version) {
|
if ($cur_version lt $min_version) {
|
||||||
printf "ERROR: Sphinx version is %s. It should be >= %s (recommended >= %s)\n",
|
printf "ERROR: Sphinx version is %s. It should be >= %s\n",
|
||||||
$cur_version, $min_version, $default_version;
|
$cur_version, $min_version;
|
||||||
$need_sphinx = 1;
|
$need_sphinx = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user