@samitouri / QOSamiQemu / commits / 047fa5b4d7

tests/lcitool: add python3 wheel and setuptools deps for qemu

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>

John Snow committed Feb 18, 2026 at 16:34 UTC 047fa5b4d771fd3a2048d666135b0ead21bc0217
11 files changed +19 -2
.gitlab-ci.d/cirrus/freebsd-14.vars
+1 -1
@@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
11 NINJA='/usr/local/bin/ninja'
12 PACKAGING_COMMAND='pkg'
13 PIP3='/usr/local/bin/pip'
14 -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'
14 +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'
15 PYPI_PKGS=''
16 PYTHON='/usr/local/bin/python3'
.gitlab-ci.d/windows.yml
+2
@@ -89,6 +89,8 @@ msys2-64bit:
89 mingw-w64-x86_64-pkgconf
90 mingw-w64-x86_64-python
91 mingw-w64-x86_64-python-certifi
92 + mingw-w64-x86_64-python-setuptools
93 + mingw-w64-x86_64-python-wheel
94 mingw-w64-x86_64-rust
95 mingw-w64-x86_64-rust-bindgen
96 mingw-w64-x86_64-zstd"
tests/docker/dockerfiles/alpine.docker
+2
@@ -87,8 +87,10 @@ RUN apk update && \
87 py3-numpy \
88 py3-pillow \
89 py3-pip \
90 + py3-setuptools \
91 py3-sphinx \
92 py3-sphinx_rtd_theme \
93 + py3-wheel \
94 py3-yaml \
95 python3 \
96 rpm2cpio \
tests/docker/dockerfiles/centos9.docker
+2
@@ -101,9 +101,11 @@ RUN dnf --quiet distro-sync -y && \
101 python3-numpy \
102 python3-pillow \
103 python3-pip \
104 + python3-setuptools \
105 python3-sphinx \
106 python3-sphinx_rtd_theme \
107 python3-tomli \
108 + python3-wheel \
109 rdma-core-devel \
110 rust \
111 rust-std-static \
tests/docker/dockerfiles/opensuse-leap.docker
+1
@@ -98,6 +98,7 @@ RUN zypper update -y && \
98 python311-base \
99 python311-pip \
100 python311-setuptools \
101 + python311-wheel \
102 rdma-core-devel \
103 rust \
104 rust-bindgen \
tests/lcitool/mappings.yml
+1 -1
@@ -66,7 +66,7 @@ mappings:
66 OpenSUSELeap15: python311-base
67
68 python3-wheel:
69 - OpenSUSELeap15: python311-pip
69 + OpenSUSELeap15: python311-wheel
70
71 rust:
72 Debian12: rustc-web
tests/lcitool/projects/qemu.yml
+2
@@ -98,11 +98,13 @@ packages:
98 - python3-pillow
99 - python3-pip
100 - python3-PyYAML
101 + - python3-setuptools
102 - python3-sphinx
103 - python3-sphinx-rtd-theme
104 - python3-sqlite3
105 - python3-tomli
106 - python3-venv
107 + - python3-wheel
108 - rpm2cpio
109 - rust
110 - rust-std
tests/vm/generated/freebsd.json
+2
@@ -57,9 +57,11 @@
57 "py311-pillow",
58 "py311-pip",
59 "py311-pyyaml",
60 + "py311-setuptools",
61 "py311-sphinx",
62 "py311-sphinx_rtd_theme",
63 "py311-tomli",
64 + "py311-wheel",
65 "python3",
66 "rpm2cpio",
67 "rust",
tests/vm/haiku.x86_64
+2
@@ -80,6 +80,8 @@ class HaikuVM(basevm.BaseVM):
80 "ninja",
81 "pip",
82 "tomli_python310",
83 + "wheel_python310",
84 + "setuptools_python310",
85 ]
86
87 BUILD_SCRIPT = """
tests/vm/netbsd
+1
@@ -31,6 +31,7 @@ class NetBSDVM(basevm.BaseVM):
31 "pkgconf",
32 "xz",
33 "python313",
34 + "py313-wheel",
35 "ninja-build",
36
37 # gnu tools
tests/vm/openbsd
+3
@@ -60,6 +60,9 @@ class OpenBSDVM(basevm.BaseVM):
60
61 # libs: networking
62 "libslirp",
63 +
64 + # Python stuff
65 + "py3-setuptools",
66 ]
67
68 BUILD_SCRIPT = """