Commit 1ef70ced authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Corbet

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: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/79584d317ba16f5d4f37801c5ee57cf04085f962.1587478901.git.mchehab+huawei@kernel.orgSigned-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent a8b380c3
...@@ -29,6 +29,8 @@ my $install = ""; ...@@ -29,6 +29,8 @@ my $install = "";
my $virtenv_dir = ""; my $virtenv_dir = "";
my $python_cmd = ""; my $python_cmd = "";
my $min_version; 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 # Command line arguments
...@@ -254,7 +256,7 @@ sub get_sphinx_version($) ...@@ -254,7 +256,7 @@ sub get_sphinx_version($)
sub check_sphinx() sub check_sphinx()
{ {
my $rec_version; my $default_version;
my $cur_version; my $cur_version;
open IN, $conf or die "Can't open $conf"; open IN, $conf or die "Can't open $conf";
...@@ -271,15 +273,15 @@ sub check_sphinx() ...@@ -271,15 +273,15 @@ sub check_sphinx()
open IN, $requirement_file or die "Can't open $requirement_file"; open IN, $requirement_file or die "Can't open $requirement_file";
while (<IN>) { while (<IN>) {
if (m/^\s*Sphinx\s*==\s*([\d\.]+)$/) { if (m/^\s*Sphinx\s*==\s*([\d\.]+)$/) {
$rec_version=$1; $default_version=$1;
last; last;
} }
} }
close IN; 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(); my $sphinx = get_sphinx_fname();
if ($sphinx eq "") { if ($sphinx eq "") {
...@@ -294,7 +296,7 @@ sub check_sphinx() ...@@ -294,7 +296,7 @@ sub check_sphinx()
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 (recommended >= %s)\n",
$cur_version, $min_version, $rec_version;; $cur_version, $min_version, $default_version;
$need_sphinx = 1; $need_sphinx = 1;
return; return;
} }
...@@ -302,6 +304,13 @@ sub check_sphinx() ...@@ -302,6 +304,13 @@ sub check_sphinx()
if ($cur_version lt $rec_version) { if ($cur_version lt $rec_version) {
printf "Sphinx version %s\n", $cur_version; printf "Sphinx version %s\n", $cur_version;
print "Warning: It is recommended at least Sphinx version $rec_version.\n"; 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; $rec_sphinx_upgrade = 1;
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment