scripts: sphinx-pre-install: change the warning for version < 2.4.4

As requested by Jon, change the version check, in order to not
emit a warning if version is >= 1.7.9, but below 2.4.4.

After this patch, if someone used an older version, it will
say:

	./scripts/sphinx-pre-install
	Sphinx version 1.7.9
	Note: It is recommended at least Sphinx version 2.4.4 if you need PDF support.
	Detected OS: Fedora release 31 (Thirty One).

	To upgrade Sphinx, use:

		/devel/v4l/docs/sphinx_1.7.9/bin/python3 -m venv sphinx_2.4.4
		. sphinx_2.4.4/bin/activate
		pip install -r ./Documentation/sphinx/requirements.txt

	If you want to exit the virtualenv, you can use:
		deactivate

	All optional dependencies are met.
	Needed package dependencies are met.

If Sphinx is not detected at all, it

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/79584d317ba16f5d4f37801c5ee57cf04085f962.1587478901.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Mauro Carvalho Chehab 2020-04-21 16:31:06 +02:00 committed by Jonathan Corbet
parent a8b380c379
commit 1ef70ced55

View File

@ -29,6 +29,8 @@ my $install = "";
my $virtenv_dir = "";
my $python_cmd = "";
my $min_version;
my $rec_version = "1.7.9"; # PDF won't build here
my $min_pdf_version = "2.4.4"; # Min version where pdf builds
#
# Command line arguments
@ -254,7 +256,7 @@ sub get_sphinx_version($)
sub check_sphinx()
{
my $rec_version;
my $default_version;
my $cur_version;
open IN, $conf or die "Can't open $conf";
@ -271,15 +273,15 @@ sub check_sphinx()
open IN, $requirement_file or die "Can't open $requirement_file";
while (<IN>) {
if (m/^\s*Sphinx\s*==\s*([\d\.]+)$/) {
$rec_version=$1;
$default_version=$1;
last;
}
}
close IN;
die "Can't get recommended sphinx version from $requirement_file" if (!$min_version);
die "Can't get default sphinx version from $requirement_file" if (!$default_version);
$virtenv_dir = $virtenv_prefix . $rec_version;
$virtenv_dir = $virtenv_prefix . $default_version;
my $sphinx = get_sphinx_fname();
if ($sphinx eq "") {
@ -294,7 +296,7 @@ sub check_sphinx()
if ($cur_version lt $min_version) {
printf "ERROR: Sphinx version is %s. It should be >= %s (recommended >= %s)\n",
$cur_version, $min_version, $rec_version;;
$cur_version, $min_version, $default_version;
$need_sphinx = 1;
return;
}
@ -302,6 +304,13 @@ sub check_sphinx()
if ($cur_version lt $rec_version) {
printf "Sphinx version %s\n", $cur_version;
print "Warning: It is recommended at least Sphinx version $rec_version.\n";
print " If you want pdf, you need at least $min_pdf_version.\n";
$rec_sphinx_upgrade = 1;
return;
}
if ($cur_version lt $min_pdf_version) {
printf "Sphinx version %s\n", $cur_version;
print "Note: It is recommended at least Sphinx version $min_pdf_version if you need PDF support.\n";
$rec_sphinx_upgrade = 1;
return;
}