[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stable-7.2.13 08/17] ci, docker: update CentOS and OpenSUSE Python to n
From: |
Michael Tokarev |
Subject: |
[Stable-7.2.13 08/17] ci, docker: update CentOS and OpenSUSE Python to non-EOL versions |
Date: |
Thu, 4 Jul 2024 15:48:15 +0300 |
From: Paolo Bonzini <pbonzini@redhat.com>
Python 3.6 is at end-of-life. Update the libvirt-ci module to a
version that supports overrides for targets and package mappings;
this way, QEMU can use the newer versions provided by CentOS 8 (Python
3.8) and OpenSUSE 15.3 (Python 3.9).
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit d639cf79783a1eba349b7705e0fb270fa76118a4)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst
index 98c26ecf18..b4c99be195 100644
--- a/docs/devel/testing.rst
+++ b/docs/devel/testing.rst
@@ -473,6 +473,12 @@ thus some extra preparation steps will be required first
the ``libvirt-ci`` submodule to point to a commit that contains
the ``mappings.yml`` update.
+For enterprise distros that default to old, end-of-life versions of the
+Python runtime, QEMU uses a separate set of mappings that work with more
+recent versions. These can be found in ``tests/lcitool/mappings.yml``.
+Modifying this file should not be necessary unless the new pre-requisite
+is a Python library or tool.
+
Adding new OS distros
^^^^^^^^^^^^^^^^^^^^^
diff --git a/tests/docker/dockerfiles/centos8.docker
b/tests/docker/dockerfiles/centos8.docker
index 1f70d41aeb..cc09402eb3 100644
--- a/tests/docker/dockerfiles/centos8.docker
+++ b/tests/docker/dockerfiles/centos8.docker
@@ -82,7 +82,6 @@ RUN dnf distro-sync -y && \
lzo-devel \
make \
mesa-libgbm-devel \
- meson \
ncurses-devel \
nettle-devel \
ninja-build \
@@ -95,13 +94,12 @@ RUN dnf distro-sync -y && \
pixman-devel \
pkgconfig \
pulseaudio-libs-devel \
- python3 \
- python3-PyYAML \
- python3-numpy \
- python3-pillow \
- python3-pip \
- python3-sphinx \
- python3-sphinx_rtd_theme \
+ python38 \
+ python38-PyYAML \
+ python38-numpy \
+ python38-pip \
+ python38-setuptools \
+ python38-wheel \
rdma-core-devel \
rpm \
sed \
@@ -130,8 +128,14 @@ RUN dnf distro-sync -y && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+RUN /usr/bin/pip3.8 install \
+ meson==0.63.2 \
+ pillow \
+ sphinx \
+ sphinx-rtd-theme
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
+ENV PYTHON "/usr/bin/python3.8"
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker
b/tests/docker/dockerfiles/opensuse-leap.docker
index 4361b01464..4f1191dc05 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -90,16 +90,9 @@ RUN zypper update -y && \
pcre-devel-static \
perl-base \
pkgconfig \
- python3-Pillow \
- python3-PyYAML \
- python3-Sphinx \
- python3-base \
- python3-numpy \
- python3-opencv \
- python3-pip \
- python3-setuptools \
- python3-sphinx_rtd_theme \
- python3-wheel \
+ python39-base \
+ python39-pip \
+ python39-setuptools \
rdma-core-devel \
rpm \
sed \
@@ -131,10 +124,15 @@ RUN zypper update -y && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
-RUN /usr/bin/pip3 install meson==0.56.0
+RUN /usr/bin/pip3.9 install \
+ PyYAML \
+ meson==0.63.2 \
+ pillow \
+ sphinx \
+ sphinx-rtd-theme
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
+ENV PYTHON "/usr/bin/python3.9"
diff --git a/tests/docker/dockerfiles/ubuntu2004.docker
b/tests/docker/dockerfiles/ubuntu2004.docker
index 9417bca2fa..39c744eba9 100644
--- a/tests/docker/dockerfiles/ubuntu2004.docker
+++ b/tests/docker/dockerfiles/ubuntu2004.docker
@@ -140,7 +140,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
-RUN /usr/bin/pip3 install meson==0.56.0
+RUN /usr/bin/pip3 install meson==0.63.2
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
new file mode 100644
index 0000000000..e4719e4551
--- /dev/null
+++ b/tests/lcitool/mappings.yml
@@ -0,0 +1,77 @@
+mappings:
+ flake8:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ meson:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ python3:
+ CentOSStream8: python38
+ OpenSUSELeap153: python39-base
+
+ python3-PyYAML:
+ CentOSStream8: python38-PyYAML
+ OpenSUSELeap153:
+
+ python3-devel:
+ CentOSStream8: python38-devel
+ OpenSUSELeap153: python39-devel
+
+ python3-docutils:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ python3-numpy:
+ CentOSStream8: python38-numpy
+ OpenSUSELeap153:
+
+ python3-opencv:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ python3-pillow:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ python3-pip:
+ CentOSStream8: python38-pip
+ OpenSUSELeap153: python39-pip
+
+ python3-pillow:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ python3-selinux:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ python3-setuptools:
+ CentOSStream8: python38-setuptools
+ OpenSUSELeap153: python39-setuptools
+
+ python3-sphinx:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ python3-sphinx-rtd-theme:
+ CentOSStream8:
+ OpenSUSELeap153:
+
+ python3-venv:
+ CentOSStream8: python38
+ OpenSUSELeap153: python39-base
+
+ python3-wheel:
+ CentOSStream8: python38-wheel
+ OpenSUSELeap153: python39-pip
+
+pypi_mappings:
+ # Request more recent version
+ meson:
+ default: meson==0.63.2
+
+ # Drop packages that need devel headers
+ python3-numpy:
+ OpenSUSELeap153:
diff --git a/tests/lcitool/targets/centos-stream-8.yml
b/tests/lcitool/targets/centos-stream-8.yml
new file mode 100644
index 0000000000..6b11160fd1
--- /dev/null
+++ b/tests/lcitool/targets/centos-stream-8.yml
@@ -0,0 +1,3 @@
+paths:
+ pip3: /usr/bin/pip3.8
+ python: /usr/bin/python3.8
diff --git a/tests/lcitool/targets/opensuse-leap-153.yml
b/tests/lcitool/targets/opensuse-leap-153.yml
new file mode 100644
index 0000000000..683016e007
--- /dev/null
+++ b/tests/lcitool/targets/opensuse-leap-153.yml
@@ -0,0 +1,3 @@
+paths:
+ pip3: /usr/bin/pip3.9
+ python: /usr/bin/python3.9
--
2.39.2
- [Stable-7.2.13 00/17] Patch Round-up for stable 7.2.13, freeze on 2024-07-14, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 01/17] target/i386: fix size of EBP writeback in gen_enter(), Michael Tokarev, 2024/07/04
- [Stable-7.2.13 02/17] virtio-net: drop too short packets early, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 04/17] linux-user: Make TARGET_NR_setgroups affect only the current thread, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 03/17] stdvga: fix screen blanking, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 05/17] tcg/loongarch64: Fix tcg_out_movi vs some pcrel pointers, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 06/17] gitlab-ci.d/buildtest: Merge the --without-default-* jobs, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 07/17] Update lcitool and fedora to 37, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 09/17] tests: Update our CI to use CentOS Stream 9 instead of 8, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 08/17] ci, docker: update CentOS and OpenSUSE Python to non-EOL versions,
Michael Tokarev <=
- [Stable-7.2.13 10/17] tests: don't run benchmarks for the tsan build, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 11/17] gitlab-ci: Disable the riscv64-debian-cross-container by default, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 12/17] i386/cpu: fixup number of addressable IDs for processor cores in the physical package, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 13/17] target/arm: Fix VCMLA Dd, Dn, Dm[idx], Michael Tokarev, 2024/07/04
- [Stable-7.2.13 15/17] iotests/244: Don't store data-file with protocol in image, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 14/17] qcow2: Don't open data_file with BDRV_O_NO_IO, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 17/17] block: Parse filenames only when explicitly requested, Michael Tokarev, 2024/07/04
- [Stable-7.2.13 16/17] iotests/270: Don't store data-file with json: prefix in image, Michael Tokarev, 2024/07/04