summaryrefslogtreecommitdiff
path: root/scripts/test_doc_build.py
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2025-06-22 08:02:35 +0200
committerJonathan Corbet <corbet@lwn.net>2025-06-25 12:22:47 -0600
commit3fa60d281130064808751f6d48224330f0879ce1 (patch)
treec7cde959f15127076f9561c60a62e3221d4e2a3f /scripts/test_doc_build.py
parentfb1e8d1265a555ddd1cbfd0307477b4c4b048cc9 (diff)
scripts: test_doc_build.py: better adjust to python version
Very old versions of Sphinx require older versions of python. The original script assumes that a python3.9 exec exists, but this may not be the case. Relax python requirements. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/32cb41c543293bbbab5fcb15f8a0aefac040e3a9.1750571906.git.mchehab+huawei@kernel.org
Diffstat (limited to 'scripts/test_doc_build.py')
-rwxr-xr-xscripts/test_doc_build.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/scripts/test_doc_build.py b/scripts/test_doc_build.py
index 5b9eb2c0bf01..129c2862065c 100755
--- a/scripts/test_doc_build.py
+++ b/scripts/test_doc_build.py
@@ -12,15 +12,28 @@ and optionally test the build.
import argparse
import asyncio
import os.path
+import shutil
import sys
import time
import subprocess
-# Minimal python version supported by the building system
-MINIMAL_PYTHON_VERSION = "python3.9"
+# Minimal python version supported by the building system.
-# Starting from 8.0.2, Python 3.9 becomes too old
-PYTHON_VER_CHANGES = {(8, 0, 2): "python3"}
+PYTHON = os.path.basename(sys.executable)
+
+min_python_bin = None
+
+for i in range(9, 13):
+ p = f"python3.{i}"
+ if shutil.which(p):
+ min_python_bin = p
+ break
+
+if not min_python_bin:
+ min_python_bin = PYTHON
+
+# Starting from 8.0, Python 3.9 is not supported anymore.
+PYTHON_VER_CHANGES = {(8, 0, 2): PYTHON}
# Sphinx versions to be installed and their incremental requirements
SPHINX_REQUIREMENTS = {
@@ -290,7 +303,7 @@ class SphinxVenv:
args.verbose = True
cur_requirements = {}
- python_bin = MINIMAL_PYTHON_VERSION
+ python_bin = min_python_bin
for cur_ver, new_reqs in SPHINX_REQUIREMENTS.items():
cur_requirements.update(new_reqs)