[PATCH 0/4] Address some issues with sphinx detection

From: Mauro Carvalho Chehab
Date: Fri Jul 01 2022 - 04:49:31 EST


Cc: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, Jonathan Corbet <corbet@xxxxxxx>,
ksummit-discuss@xxxxxxxxxxxxxxxxxxxxxxxxx
Cc: "Jonathan Corbet" <corbet@xxxxxxx>
Cc: "Mauro Carvalho Chehab" <mchehab+huawei@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Cc: ksummit-discuss@xxxxxxxxxxxxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

Checking if Sphinx is available and read to run is tricky, and may involve
installing several packages for the document build to happen.

There are two options to install Sphinx:

- via distro-provided packages;
- via pip, using virtualenv/venv.

Some recent discussions showed a couple of misleading instructions.

This series improves the Sphinx detection by:

- Fixing the logich with checks if a past venv is working and recommend
just enabling it instead of installing a new venv;
- Detect if sphinx-build stopped working on a venv. This may happen during
distribution updates;
- Move the PDF minimal version to be later, in order for it to be printed only
after finishing the Sphinx version check;

Additionally, as now the Sphinx provided on almost all modern distros are
above the minimal required version, place instructions about how to install
Sphinx from the distro-provided packages after placing the instructions for
installing it via venv.

This will hopefully help to have more developers checking documentation
builds with

make htmldocs

Mauro Carvalho Chehab (4):
scripts: sphinx-pre-install: fix venv version check logic
scripts: sphinx-pre-install: report broken venv
scripts: sphinx-pre-install: check for PDF min version later on
scripts: sphinx-pre-install: provide both venv and package installs

scripts/sphinx-pre-install | 74 ++++++++++++++++++++++++++++----------
1 file changed, 55 insertions(+), 19 deletions(-)

--
2.36.1