ci, docker: update CentOS and OpenSUSE Python to non-EOL versions

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>
master
Paolo Bonzini 2022-10-12 18:20:44 +02:00
parent fa1ce1dda9
commit 32c0613113
7 changed files with 113 additions and 22 deletions

View File

@ -479,6 +479,12 @@ first to contribute the mapping to the ``libvirt-ci`` project:
contains the ``mappings.yml`` update. Then add the prerequisite and
run ``make lcitool-refresh``.
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
^^^^^^^^^^^^^^^^^^^^^

View File

@ -82,7 +82,6 @@ RUN dnf distro-sync -y && \
lzo-devel \
make \
mesa-libgbm-devel \
meson \
ncurses-devel \
nettle-devel \
ninja-build \
@ -94,13 +93,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 \
@ -128,8 +126,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"

View File

@ -89,16 +89,9 @@ RUN zypper update -y && \
pam-devel \
pcre-devel-static \
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 \
@ -129,10 +122,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"

View File

@ -138,7 +138,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"

View File

@ -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:

View File

@ -0,0 +1,3 @@
paths:
pip3: /usr/bin/pip3.8
python: /usr/bin/python3.8

View File

@ -0,0 +1,3 @@
paths:
pip3: /usr/bin/pip3.9
python: /usr/bin/python3.9