John Snow <jsnow@redhat.com> writes:
> Once upon a time, "sphinx-build" on certain RPM platforms invoked
> specifically a Python 2.x version, while "sphinx-build-3" was a distro
> shim for the Python 3.x version.
>
> These days, none of our supported platforms utilize a 2.x version, so it
> should be safe to search for 'sphinx-build' prior to 'sphinx-build-3',
> which will prefer pip/venv installed versions of sphinx if they're
> available.
>
> This adds an extremely convenient ability to test document building
> ability in QEMU across multiple versions of Sphinx for the purposes of
> compatibility testing.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> docs/meson.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/docs/meson.build b/docs/meson.build
> index 9136fed3b73..906034f9a87 100644
> --- a/docs/meson.build
> +++ b/docs/meson.build
> @@ -1,5 +1,5 @@
> if get_option('sphinx_build') == ''
> - sphinx_build = find_program(['sphinx-build-3', 'sphinx-build'],
> + sphinx_build = find_program(['sphinx-build', 'sphinx-build-3'],
> required: get_option('docs'))
> else
> sphinx_build = find_program(get_option('sphinx_build'),
Do we still need to check for sphinx-build-3? Or asked differently, is
there any supported build host that provides only sphinx-build-3?
Yes, modern Fedora still uses "sphinx-build-3" as the name in /usr/bin for the rpm-packaged version of sphinx.
It's just that the only platforms where "sphinx-build" is the 2.x version are platforms on which we want to drop 3.6 support anyway, so it's OK to invert the search priority in the context of this series.
(All pip/pypi versions use "sphinx-build" as the binary name. In effect, this patch means we prefer pip/pypi versions if they're in your $PATH.)