From 047fa5b4d771fd3a2048d666135b0ead21bc0217 Mon Sep 17 00:00:00 2001 From: John Snow Date: Wed, 18 Feb 2026 16:34:06 -0500 Subject: [PATCH] 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 Message-ID: <20260218213416.674483-12-jsnow@redhat.com> Signed-off-by: John Snow --- .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 6477440ef3..98fbde6cc6 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 5ef4d34d1e..145500ae46 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 76d8dd8cfc..c0303feb48 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 90ac1f7fad..6b1aa6dc0d 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 a041d43976..d693f2c6f8 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 a749cf8c51..6061897158 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 1ee7dcf3d4..5e34e95351 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 f586827b13..08b6eb6155 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 529283c39f..3ea48dc38a 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 77d17a0ded..b365045066 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 2ea86a01ba..5222041b85 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 = """