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

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.org


Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent a8b380c3
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -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;
	}