All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Li-Wen Hsu" <lwhsu@freebsd.org>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"John Snow" <jsnow@redhat.com>, "Peter Xu" <peterx@redhat.com>,
	"Vladimir Sementsov-Ogievskiy" <vsementsov@yandex-team.ru>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Mauro Carvalho Chehab" <mchehab+huawei@kernel.org>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Hanna Reitz" <hreitz@redhat.com>, "Warner Losh" <imp@bsdimp.com>,
	qemu-block@nongnu.org, "Kevin Wolf" <kwolf@redhat.com>,
	"Ed Maste" <emaste@freebsd.org>,
	"Maksim Davydov" <davydov-max@yandex-team.ru>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Kyle Evans" <kevans@freebsd.org>,
	"Michael Roth" <michael.roth@amd.com>,
	"Fabiano Rosas" <farosas@suse.de>,
	"Yonggang Luo" <luoyonggang@gmail.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>
Subject: [PULL 10/19] tests/lcitool: add python3 wheel and setuptools deps for qemu
Date: Mon, 23 Feb 2026 13:28:52 -0500	[thread overview]
Message-ID: <20260223182902.739189-11-jsnow@redhat.com> (raw)
In-Reply-To: <20260223182902.739189-1-jsnow@redhat.com>

Installing local dependencies while offline, without PyPI access,
requires the python3-setuptools and python3-wheel packages. Most
distributions have these available anyway for one reason or another, but
not all of them.

If you are asking yourself "Wait, aren't these packages guaranteed via
installation of pip, via the ensurepip module, which mkvenv takes
immense pains to provide for us?" - Well... since Python 3.13, "pip"
does not actually come with "setuptools" or "wheel" anymore, and so if
we want to build and install a python package, we actually need these
available in the host environment.

(Note that you don't need these packages just to install a pre-built
package, you only need them to *build* a package. With cutting edge
setuptools and pip, all locally installed packages, even in editable
mode, must be "built" first before being installed. Thus, these
dependencies are being added specifically to facilitate installing
qemu.git/python/qemu to the configure-time venv.)

Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260218213416.674483-12-jsnow@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
---
 .gitlab-ci.d/cirrus/freebsd-14.vars           | 2 +-
 .gitlab-ci.d/windows.yml                      | 2 ++
 tests/docker/dockerfiles/alpine.docker        | 2 ++
 tests/docker/dockerfiles/centos9.docker       | 2 ++
 tests/docker/dockerfiles/opensuse-leap.docker | 1 +
 tests/lcitool/mappings.yml                    | 2 +-
 tests/lcitool/projects/qemu.yml               | 2 ++
 tests/vm/generated/freebsd.json               | 2 ++
 tests/vm/haiku.x86_64                         | 2 ++
 tests/vm/netbsd                               | 1 +
 tests/vm/openbsd                              | 3 +++
 11 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.d/cirrus/freebsd-14.vars b/.gitlab-ci.d/cirrus/freebsd-14.vars
index 6477440ef30..98fbde6cc64 100644
--- a/.gitlab-ci.d/cirrus/freebsd-14.vars
+++ b/.gitlab-ci.d/cirrus/freebsd-14.vars
@@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
 NINJA='/usr/local/bin/ninja'
 PACKAGING_COMMAND='pkg'
 PIP3='/usr/local/bin/pip'
-PKGS='alsa-lib bash bison bzip2 ca_root_nss capstone4 ccache4 cmocka coreutils ctags curl cyrus-sasl dbus diffutils dtc flex fusefs-libs3 gettext git glib gmake gnutls gsed gtk-vnc gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libslirp libspice-server libssh libtasn1 llvm lzo2 meson mtools ncurses nettle ninja opencv pixman pkgconf png py311-numpy py311-pillow py311-pip py311-pyyaml py311-sphinx py311-sphinx_rtd_theme py311-tomli python3 rpm2cpio rust rust-bindgen-cli sdl2 sdl2_image snappy sndio socat spice-protocol tesseract usbredir virglrenderer vte3 vulkan-tools xorriso zstd'
+PKGS='alsa-lib bash bison bzip2 ca_root_nss capstone4 ccache4 cmocka coreutils ctags curl cyrus-sasl dbus diffutils dtc flex fusefs-libs3 gettext git glib gmake gnutls gsed gtk-vnc gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libslirp libspice-server libssh libtasn1 llvm lzo2 meson mtools ncurses nettle ninja opencv pixman pkgconf png py311-numpy py311-pillow py311-pip py311-pyyaml py311-setuptools py311-sphinx py311-sphinx_rtd_theme py311-tomli py311-wheel python3 rpm2cpio rust rust-bindgen-cli sdl2 sdl2_image snappy sndio socat spice-protocol tesseract usbredir virglrenderer vte3 vulkan-tools xorriso zstd'
 PYPI_PKGS=''
 PYTHON='/usr/local/bin/python3'
diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
index 5ef4d34d1ea..145500ae464 100644
--- a/.gitlab-ci.d/windows.yml
+++ b/.gitlab-ci.d/windows.yml
@@ -89,6 +89,8 @@ msys2-64bit:
       mingw-w64-x86_64-pkgconf
       mingw-w64-x86_64-python
       mingw-w64-x86_64-python-certifi
+      mingw-w64-x86_64-python-setuptools
+      mingw-w64-x86_64-python-wheel
       mingw-w64-x86_64-rust
       mingw-w64-x86_64-rust-bindgen
       mingw-w64-x86_64-zstd"
diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
index 76d8dd8cfc7..c0303feb48a 100644
--- a/tests/docker/dockerfiles/alpine.docker
+++ b/tests/docker/dockerfiles/alpine.docker
@@ -87,8 +87,10 @@ RUN apk update && \
         py3-numpy \
         py3-pillow \
         py3-pip \
+        py3-setuptools \
         py3-sphinx \
         py3-sphinx_rtd_theme \
+        py3-wheel \
         py3-yaml \
         python3 \
         rpm2cpio \
diff --git a/tests/docker/dockerfiles/centos9.docker b/tests/docker/dockerfiles/centos9.docker
index 90ac1f7fade..6b1aa6dc0de 100644
--- a/tests/docker/dockerfiles/centos9.docker
+++ b/tests/docker/dockerfiles/centos9.docker
@@ -101,9 +101,11 @@ RUN dnf --quiet distro-sync -y && \
                 python3-numpy \
                 python3-pillow \
                 python3-pip \
+                python3-setuptools \
                 python3-sphinx \
                 python3-sphinx_rtd_theme \
                 python3-tomli \
+                python3-wheel \
                 rdma-core-devel \
                 rust \
                 rust-std-static \
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index a041d439768..d693f2c6f85 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -98,6 +98,7 @@ RUN zypper update -y && \
            python311-base \
            python311-pip \
            python311-setuptools \
+           python311-wheel \
            rdma-core-devel \
            rust \
            rust-bindgen \
diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
index a749cf8c515..60618971584 100644
--- a/tests/lcitool/mappings.yml
+++ b/tests/lcitool/mappings.yml
@@ -66,7 +66,7 @@ mappings:
     OpenSUSELeap15: python311-base
 
   python3-wheel:
-    OpenSUSELeap15: python311-pip
+    OpenSUSELeap15: python311-wheel
 
   rust:
     Debian12: rustc-web
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index 1ee7dcf3d46..5e34e953514 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -98,11 +98,13 @@ packages:
  - python3-pillow
  - python3-pip
  - python3-PyYAML
+ - python3-setuptools
  - python3-sphinx
  - python3-sphinx-rtd-theme
  - python3-sqlite3
  - python3-tomli
  - python3-venv
+ - python3-wheel
  - rpm2cpio
  - rust
  - rust-std
diff --git a/tests/vm/generated/freebsd.json b/tests/vm/generated/freebsd.json
index f586827b136..08b6eb61553 100644
--- a/tests/vm/generated/freebsd.json
+++ b/tests/vm/generated/freebsd.json
@@ -57,9 +57,11 @@
     "py311-pillow",
     "py311-pip",
     "py311-pyyaml",
+    "py311-setuptools",
     "py311-sphinx",
     "py311-sphinx_rtd_theme",
     "py311-tomli",
+    "py311-wheel",
     "python3",
     "rpm2cpio",
     "rust",
diff --git a/tests/vm/haiku.x86_64 b/tests/vm/haiku.x86_64
index 529283c39f6..3ea48dc38a1 100755
--- a/tests/vm/haiku.x86_64
+++ b/tests/vm/haiku.x86_64
@@ -80,6 +80,8 @@ class HaikuVM(basevm.BaseVM):
         "ninja",
         "pip",
         "tomli_python310",
+        "wheel_python310",
+        "setuptools_python310",
     ]
 
     BUILD_SCRIPT = """
diff --git a/tests/vm/netbsd b/tests/vm/netbsd
index 77d17a0dedf..b365045066c 100755
--- a/tests/vm/netbsd
+++ b/tests/vm/netbsd
@@ -31,6 +31,7 @@ class NetBSDVM(basevm.BaseVM):
         "pkgconf",
         "xz",
         "python313",
+        "py313-wheel",
         "ninja-build",
 
         # gnu tools
diff --git a/tests/vm/openbsd b/tests/vm/openbsd
index 2ea86a01bad..5222041b855 100755
--- a/tests/vm/openbsd
+++ b/tests/vm/openbsd
@@ -60,6 +60,9 @@ class OpenBSDVM(basevm.BaseVM):
 
         # libs: networking
         "libslirp",
+
+        # Python stuff
+        "py3-setuptools",
     ]
 
     BUILD_SCRIPT = """
-- 
2.53.0



  parent reply	other threads:[~2026-02-23 18:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-23 18:28 [PULL 00/19] Python patches John Snow
2026-02-23 18:28 ` [PULL 01/19] python/mkvenv: create timestamp file for each group "ensured" John Snow
2026-02-23 18:28 ` [PULL 02/19] python/mkvenv: bump 'qemu.qmp' dependency for testdeps John Snow
2026-02-23 18:28 ` [PULL 03/19] python/mkvenv: add 'tooling' and 'functests' dependency groups John Snow
2026-02-23 18:28 ` [PULL 04/19] python/mkvenv: add mechanism to install local package(s) John Snow
2026-02-23 18:28 ` [PULL 05/19] meson, mkvenv: add functests custom target John Snow
2026-02-23 18:28 ` [PULL 06/19] tests: Use configured python to run GitLab iotests John Snow
2026-02-23 18:28 ` [PULL 07/19] iotests: tolerate being run outside of pyvenv John Snow
2026-02-23 18:28 ` [PULL 08/19] tests: use "run" script to execute device-crash-test John Snow
2026-02-23 18:28 ` [PULL 09/19] tests/lcitool: update lcitool to latest version John Snow
2026-02-23 18:28 ` John Snow [this message]
2026-02-23 18:28 ` [PULL 11/19] python: add vendored qemu.qmp package John Snow
2026-02-23 18:28 ` [PULL 12/19] meson, mkvenv: make functional tests depend on functests group John Snow
2026-02-23 18:28 ` [PULL 13/19] meson, mkvenv: add qemu.git/python/qemu package to pythondeps.toml John Snow
2026-02-23 18:28 ` [PULL 14/19] configure: unconditionally install "tooling" group John Snow
2026-02-23 18:28 ` [PULL 15/19] tests: replace check-venv with vm-venv target John Snow
2026-02-23 18:28 ` [PULL 16/19] scripts: nudge users to use 'run' script for scripts that import qemu.qmp John Snow
2026-02-23 18:28 ` [PULL 17/19] python: delete qemu.qmp John Snow
2026-02-23 18:29 ` [PULL 18/19] python: update README.rst to reflect qemu.qmp's removal John Snow
2026-02-23 18:29 ` [PULL 19/19] python: add setuptools and wheel dependencies John Snow
2026-02-24 11:32 ` [PULL 00/19] Python patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260223182902.739189-11-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=crosa@redhat.com \
    --cc=davydov-max@yandex-team.ru \
    --cc=emaste@freebsd.org \
    --cc=farosas@suse.de \
    --cc=hreitz@redhat.com \
    --cc=imp@bsdimp.com \
    --cc=kevans@freebsd.org \
    --cc=kwolf@redhat.com \
    --cc=luoyonggang@gmail.com \
    --cc=lwhsu@freebsd.org \
    --cc=marcandre.lureau@redhat.com \
    --cc=mchehab+huawei@kernel.org \
    --cc=michael.roth@amd.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=vsementsov@yandex-team.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.