On Fri, Jun 6, 2025 at 4:50 PM John Snow <js...@redhat.com> wrote:

> This is a re-send of Akihiko Odaki's series, rebased and altered to cope
> with the new QAPI static analysis tests now running on GitLab CI.
>
> Changes in this "v1":
>
>  - Update python static analysis testing configuration to work with the
>    new Sphinx minimum version
>  - Small adjustments to qapi_domain.py in light of upstream changes to
>    keep new CI tests passing.
>    (Thank you for deleting compat.py, Odaki-san!)
>  - Make the minimum versions for sphinx and sphinx-rtd-theme more
>    explicit, including the patch version number; thiis is *required* for
>    Debian platforms which ship sphinx-rtd-theme 1.2.1 and will fail to
>    build docs otherwise.
>
> Akihiko Odaki (3):
>   docs: Bump sphinx to 6.2.1
>   docs: Require sphinx>=6.2
>   MAINTAINERS: Add docs/requirements.txt
>
> John Snow (1):
>   python: update requirements for Sphinx
>
>  MAINTAINERS                |   1 +
>  docs/requirements.txt      |   4 +-
>  docs/sphinx/compat.py      | 230 -------------------------------------
>  docs/sphinx/qapi_domain.py |  38 +++---
>  python/setup.cfg           |   2 +-
>  python/tests/minreqs.txt   |  36 +++---
>  python/tests/qapi-isort.sh |   4 +-
>  pythondeps.toml            |   4 +-
>  8 files changed, 46 insertions(+), 273 deletions(-)
>  delete mode 100644 docs/sphinx/compat.py
>
> --
> 2.48.1
>
>
Markus is on vacation, so it'd be nice to get some input from some of the
other key maintainers before I take this.

For recap, the issue at hand here is that our preferred version of Sphinx,
5.3.0, is not compatible with Python 3.13 - so if you run configure without
a good Sphinx version, python/scripts/mkvenv.py will attempt to install a
bad version.

This series then does three closely related things:

(1) Update our preferred version of Sphinx to 6.2.1, which should work with
the latest Python versions
(2) Update our *minimum* version of Sphinx to 6.2.1, which allows us to
delete a lot of compatibility crud for Sphinx, which possibly has some
implications for the other Sphinx issues we've been having concerning
duplicate label warnings (I don't know for sure, I haven't tracked that one
as closely.)
(3) Updates the python testing venv to match the above change.

Where I am not fully confident this change will be without problems is the
fact that Debian (and likely some versions of RHEL/SUSE we still support)
do not ship with >= 6.2.1, which may introduce complications for docs in
certain scenarios, particularly for offline/isolated builds of QEMU. Please
refer to my email "Build platform guarantees, docs, tests, and snakes in
the garden" for more detail on concerns there.

Thanks,
--js

Reply via email to