scripts: sphinx-pre-install: fix venv version check logic
authorMauro Carvalho Chehab <mchehab@kernel.org>
Sat, 2 Jul 2022 10:11:25 +0000 (11:11 +0100)
committerJonathan Corbet <corbet@lwn.net>
Thu, 7 Jul 2022 18:45:32 +0000 (12:45 -0600)
The logic which checks if the venv version is good enough
but was not activated is broken: it is checking against
the wrong val, making it to recommend to re-create a venv
every time. Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Link: https://lore.kernel.org/r/afe01b7863fd655986d84ace8948f3d7aede796d.1656756450.git.mchehab@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
scripts/sphinx-pre-install

index f126ecb..ae8c497 100755 (executable)
@@ -741,7 +741,7 @@ sub recommend_sphinx_upgrade()
 
        # Get the highest version from sphinx_*/bin/sphinx-build and the
        # corresponding command to activate the venv/virtenv
-       $activate_cmd = get_virtenv();
+       ($activate_cmd, $venv_ver) = get_virtenv();
 
        # Store the highest version from Sphinx existing virtualenvs
        if (($activate_cmd ne "") && ($venv_ver gt $cur_version)) {
@@ -759,10 +759,14 @@ sub recommend_sphinx_upgrade()
        # Either there are already a virtual env or a new one should be created
        $need_pip = 1;
 
+       return if (!$latest_avail_ver);
+
        # Return if the reason is due to an upgrade or not
        if ($latest_avail_ver lt $rec_version) {
                $rec_sphinx_upgrade = 1;
        }
+
+       return $latest_avail_ver;
 }
 
 #
@@ -820,7 +824,7 @@ sub recommend_sphinx_version($)
        }
 
        # Suggest newer versions if current ones are too old
-       if ($latest_avail_ver && $cur_version ge $min_version) {
+       if ($latest_avail_ver && $latest_avail_ver ge $min_version) {
                # If there's a good enough version, ask the user to enable it
                if ($latest_avail_ver ge $rec_version) {
                        printf "\nNeed to activate Sphinx (version $latest_avail_ver) on virtualenv with:\n";
@@ -897,7 +901,7 @@ sub check_needs()
                }
        }
 
-       recommend_sphinx_upgrade();
+       my $venv_ver = recommend_sphinx_upgrade();
 
        my $virtualenv_cmd;