[PATCH v2 00/16] python: drop qemu.qmp from qemu.git tree

John Snow posted 16 patches 2 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20251125040045.461148-1-jsnow@redhat.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>
There is a newer version of this series
meson.build                                   |    1 +
.gitlab-ci.d/buildtest-template.yml           |    4 +
.gitlab-ci.d/buildtest.yml                    |    9 +-
python/qemu/qmp/__init__.py                   |   60 -
python/qemu/qmp/error.py                      |   53 -
python/qemu/qmp/events.py                     |  751 -----------
python/qemu/qmp/legacy.py                     |  339 -----
python/qemu/qmp/message.py                    |  217 ----
python/qemu/qmp/models.py                     |  146 ---
python/qemu/qmp/protocol.py                   | 1101 -----------------
python/qemu/qmp/py.typed                      |    0
python/qemu/qmp/qmp_client.py                 |  732 -----------
python/qemu/qmp/qmp_shell.py                  |  689 -----------
python/qemu/qmp/qmp_tui.py                    |  665 ----------
python/qemu/qmp/util.py                       |  150 ---
python/qemu/utils/qom_fuse.py                 |    1 -
python/scripts/mkvenv.py                      |   11 +
python/scripts/vendor.py                      |    2 +
python/setup.cfg                              |   31 +-
python/tests/minreqs.txt                      |    8 +-
python/tests/protocol.py                      |  596 ---------
python/wheels/qemu_qmp-0.0.5-py3-none-any.whl |  Bin 0 -> 72263 bytes
pythondeps.toml                               |   13 +-
pyvenv/meson.build                            |   36 +
tests/Makefile.include                        |   25 +-
tests/functional/meson.build                  |    7 +-
tests/qemu-iotests/meson.build                |    2 +-
27 files changed, 89 insertions(+), 5560 deletions(-)
delete mode 100644 python/qemu/qmp/__init__.py
delete mode 100644 python/qemu/qmp/error.py
delete mode 100644 python/qemu/qmp/events.py
delete mode 100644 python/qemu/qmp/legacy.py
delete mode 100644 python/qemu/qmp/message.py
delete mode 100644 python/qemu/qmp/models.py
delete mode 100644 python/qemu/qmp/protocol.py
delete mode 100644 python/qemu/qmp/py.typed
delete mode 100644 python/qemu/qmp/qmp_client.py
delete mode 100644 python/qemu/qmp/qmp_shell.py
delete mode 100644 python/qemu/qmp/qmp_tui.py
delete mode 100644 python/qemu/qmp/util.py
delete mode 100644 python/tests/protocol.py
create mode 100644 python/wheels/qemu_qmp-0.0.5-py3-none-any.whl
create mode 100644 pyvenv/meson.build
[PATCH v2 00/16] python: drop qemu.qmp from qemu.git tree
Posted by John Snow 2 months, 2 weeks ago
Hi, this series does a few things, but it's ultimately in service of
dropping the python qemu.qmp package from the qemu.git tree in favor of
using the standalone package instead, to prevent any further issues from
the two codebases diverging.

v2:

 - move "make check-venv" earlier in GitLab CI/CD pipeline, to avoid
   re-running configure
 - Fix functional tests not using PyPI to fetch pygdbmi package
 - Remove pre-requisites which are now merged

I think this series is probably close, but with some attention needed on
the mkvenv packages to allow installing the local python
packages. Everything else feels good-to-go, as far as I can tell.

(Cool diffstat.)

--js

John Snow (16):
  python/mkvenv: create timestamp file for each group "ensured"
  python/mkvenv: bump 'qemu.qmp' dependency for testdeps
  python/mkvenv: add 'checktests' and 'functests' dependency groups
  meson, mkvenv: add checktests and functests custom targets
  tests/iotests: Use configured python to run GitLab iotests
  tests/iotests: use "make check-venv" to prepare for running iotests
  python: add vendored qemu.qmp package
  meson, mkvenv: make iotests depend on checktests group
  meson, mkvenv: make functional tests depend on functests group
  tests: conditionally run "make check-venv" during build phase
  tests: run 'make check-venv' for crash tests
  python/mkvenv: add mechanism to install local package(s)
  mkvenv: add --no-build-isolation flag
  meson, mkvenv: add qemu.git/python/qemu package to pythondeps.toml
  tests/Makefile: replace old "check-venv" target with meson target
  python: delete qemu.qmp

 meson.build                                   |    1 +
 .gitlab-ci.d/buildtest-template.yml           |    4 +
 .gitlab-ci.d/buildtest.yml                    |    9 +-
 python/qemu/qmp/__init__.py                   |   60 -
 python/qemu/qmp/error.py                      |   53 -
 python/qemu/qmp/events.py                     |  751 -----------
 python/qemu/qmp/legacy.py                     |  339 -----
 python/qemu/qmp/message.py                    |  217 ----
 python/qemu/qmp/models.py                     |  146 ---
 python/qemu/qmp/protocol.py                   | 1101 -----------------
 python/qemu/qmp/py.typed                      |    0
 python/qemu/qmp/qmp_client.py                 |  732 -----------
 python/qemu/qmp/qmp_shell.py                  |  689 -----------
 python/qemu/qmp/qmp_tui.py                    |  665 ----------
 python/qemu/qmp/util.py                       |  150 ---
 python/qemu/utils/qom_fuse.py                 |    1 -
 python/scripts/mkvenv.py                      |   11 +
 python/scripts/vendor.py                      |    2 +
 python/setup.cfg                              |   31 +-
 python/tests/minreqs.txt                      |    8 +-
 python/tests/protocol.py                      |  596 ---------
 python/wheels/qemu_qmp-0.0.5-py3-none-any.whl |  Bin 0 -> 72263 bytes
 pythondeps.toml                               |   13 +-
 pyvenv/meson.build                            |   36 +
 tests/Makefile.include                        |   25 +-
 tests/functional/meson.build                  |    7 +-
 tests/qemu-iotests/meson.build                |    2 +-
 27 files changed, 89 insertions(+), 5560 deletions(-)
 delete mode 100644 python/qemu/qmp/__init__.py
 delete mode 100644 python/qemu/qmp/error.py
 delete mode 100644 python/qemu/qmp/events.py
 delete mode 100644 python/qemu/qmp/legacy.py
 delete mode 100644 python/qemu/qmp/message.py
 delete mode 100644 python/qemu/qmp/models.py
 delete mode 100644 python/qemu/qmp/protocol.py
 delete mode 100644 python/qemu/qmp/py.typed
 delete mode 100644 python/qemu/qmp/qmp_client.py
 delete mode 100644 python/qemu/qmp/qmp_shell.py
 delete mode 100644 python/qemu/qmp/qmp_tui.py
 delete mode 100644 python/qemu/qmp/util.py
 delete mode 100644 python/tests/protocol.py
 create mode 100644 python/wheels/qemu_qmp-0.0.5-py3-none-any.whl
 create mode 100644 pyvenv/meson.build

-- 
2.51.1

Re: [PATCH v2 00/16] python: drop qemu.qmp from qemu.git tree
Posted by Thomas Huth 2 months, 1 week ago
On 25/11/2025 05.00, John Snow wrote:
> Hi, this series does a few things, but it's ultimately in service of
> dropping the python qemu.qmp package from the qemu.git tree in favor of
> using the standalone package instead, to prevent any further issues from
> the two codebases diverging.
> 
> v2:
> 
>   - move "make check-venv" earlier in GitLab CI/CD pipeline, to avoid
>     re-running configure
>   - Fix functional tests not using PyPI to fetch pygdbmi package
>   - Remove pre-requisites which are now merged
> 
> I think this series is probably close, but with some attention needed on
> the mkvenv packages to allow installing the local python
> packages. Everything else feels good-to-go, as far as I can tell.

  Hi John,

I gave the series a try in the CI, but the macOS and FreeBSD jobs are 
failing now:

  https://gitlab.com/thuth/qemu/-/jobs/12211713065
  https://gitlab.com/thuth/qemu/-/jobs/12211713061

Have a look at .gitlab-ci.d/cirrus/README.rst if you want to enable these 
jobs in your gitlab CI, too.

  HTH,
   Thomas
Re: [PATCH v2 00/16] python: drop qemu.qmp from qemu.git tree
Posted by John Snow 2 months, 1 week ago
On Wed, Nov 26, 2025, 12:34 AM Thomas Huth <thuth@redhat.com> wrote:

> On 25/11/2025 05.00, John Snow wrote:
> > Hi, this series does a few things, but it's ultimately in service of
> > dropping the python qemu.qmp package from the qemu.git tree in favor of
> > using the standalone package instead, to prevent any further issues from
> > the two codebases diverging.
> >
> > v2:
> >
> >   - move "make check-venv" earlier in GitLab CI/CD pipeline, to avoid
> >     re-running configure
> >   - Fix functional tests not using PyPI to fetch pygdbmi package
> >   - Remove pre-requisites which are now merged
> >
> > I think this series is probably close, but with some attention needed on
> > the mkvenv packages to allow installing the local python
> > packages. Everything else feels good-to-go, as far as I can tell.
>
>   Hi John,
>
> I gave the series a try in the CI, but the macOS and FreeBSD jobs are
> failing now:
>
>   https://gitlab.com/thuth/qemu/-/jobs/12211713065
>   https://gitlab.com/thuth/qemu/-/jobs/12211713061
>
> Have a look at .gitlab-ci.d/cirrus/README.rst if you want to enable these
> jobs in your gitlab CI, too.
>
>   HTH,
>    Thomas
>

Ah, nuts. OK, let me get those and then I'll apply any of your RBs that
still apply.

Thanks for the check.

>