@samitouri / QOSamiQemu / commits / 51ea699eb8

dockerfiles: update CentOS Stream 9 to Python 3.11, Meson to 1.12

Python 3.10, which is a requirement for Meson 1.12.0, was never packaged for CentOS Stream 9 so update directly to 3.11. CentOS 9 does not install meson from PyPI because configure will install it from the bundled wheel; this way CI covers that path as well. This is guaranteed because, when using a non-default Python, basically nothing is installed. The opensuse-leap-15.yml file was not in use anymore, so delete it while touching tests/lcitool/targets/. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Paolo Bonzini committed Aug 13, 2026 at 15:09 UTC 51ea699eb84677490312bb09b3c1e9cfb645152c
16 files changed +47 -21
tests/docker/dockerfiles/centos9.docker
+9 -7
@@ -95,13 +95,11 @@ RUN dnf --quiet distro-sync -y && \
95 pixman-devel \
96 pkgconfig \
97 pulseaudio-libs-devel \
98 - python3 \
99 - python3-pip \
100 - python3-setuptools \
101 - python3-sphinx \
102 - python3-sphinx_rtd_theme \
98 python3-tomli \
104 - python3-wheel \
99 + python3.11 \
100 + python3.11-pip \
101 + python3.11-setuptools \
102 + python3.11-wheel \
103 rdma-core-devel \
104 rust \
105 rust-std-static \
@@ -131,11 +129,15 @@ RUN dnf --quiet distro-sync -y && \
129 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
130 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
131
132 +RUN /usr/bin/pip3.11 install \
133 + sphinx \
134 + sphinx-rtd-theme
135 +
136 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
137 ENV LANG="en_US.UTF-8"
138 ENV MAKE="/usr/bin/make"
139 ENV NINJA="/usr/bin/ninja"
138 -ENV PYTHON="/usr/bin/python3"
140 +ENV PYTHON="/usr/bin/python3.11"
141 # As a final step configure the user (if env is defined)
142 ARG USER
143 ARG UID
tests/docker/dockerfiles/debian-all-test-cross.docker
+1 -1
@@ -47,7 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
47 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
48 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
49
50 -RUN /usr/bin/pip3 install meson==1.8.1
50 +RUN /usr/bin/pip3 install meson==1.12.0
51
52 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
53 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/debian-amd64-cross.docker
+1 -1
@@ -66,7 +66,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
66 dpkg-reconfigure locales && \
67 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
68
69 -RUN /usr/bin/pip3 install meson==1.8.1
69 +RUN /usr/bin/pip3 install meson==1.12.0
70
71 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
72 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/debian-arm64-cross.docker
+1 -1
@@ -66,7 +66,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
66 dpkg-reconfigure locales && \
67 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
68
69 -RUN /usr/bin/pip3 install meson==1.8.1
69 +RUN /usr/bin/pip3 install meson==1.12.0
70
71 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
72 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/debian-armhf-cross.docker
+1 -1
@@ -66,7 +66,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
66 dpkg-reconfigure locales && \
67 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
68
69 -RUN /usr/bin/pip3 install meson==1.8.1
69 +RUN /usr/bin/pip3 install meson==1.12.0
70
71 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
72 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/debian-i686-cross.docker
+1 -1
@@ -66,7 +66,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
66 dpkg-reconfigure locales && \
67 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
68
69 -RUN /usr/bin/pip3 install meson==1.8.1
69 +RUN /usr/bin/pip3 install meson==1.12.0
70
71 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
72 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/debian-ppc64el-cross.docker
+1 -1
@@ -66,7 +66,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
66 dpkg-reconfigure locales && \
67 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
68
69 -RUN /usr/bin/pip3 install meson==1.8.1
69 +RUN /usr/bin/pip3 install meson==1.12.0
70
71 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
72 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/debian-riscv64-cross.docker
+1 -1
@@ -66,7 +66,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
66 dpkg-reconfigure locales && \
67 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
68
69 -RUN /usr/bin/pip3 install meson==1.8.1
69 +RUN /usr/bin/pip3 install meson==1.12.0
70
71 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
72 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/debian-s390x-cross.docker
+1 -1
@@ -66,7 +66,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
66 dpkg-reconfigure locales && \
67 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
68
69 -RUN /usr/bin/pip3 install meson==1.8.1
69 +RUN /usr/bin/pip3 install meson==1.12.0
70
71 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
72 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/debian.docker
+1 -1
@@ -145,7 +145,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
145 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
146 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
147
148 -RUN /usr/bin/pip3 install meson==1.8.1
148 +RUN /usr/bin/pip3 install meson==1.12.0
149
150 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
151 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/fedora-rust-nightly.docker
+1 -1
@@ -145,7 +145,7 @@ exec "$@"\n' > /usr/bin/nosync && \
145 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
146 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
147
148 -RUN /usr/bin/pip3 install meson==1.8.1
148 +RUN /usr/bin/pip3 install meson==1.12.0
149
150 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
151 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/fedora-win64-cross.docker
+1 -1
@@ -66,7 +66,7 @@ exec "$@"\n' > /usr/bin/nosync && \
66 nosync dnf --quiet clean all -y && \
67 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
68
69 -RUN /usr/bin/pip3 install meson==1.8.1
69 +RUN /usr/bin/pip3 install meson==1.12.0
70
71 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
72 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/fedora.docker
+1 -1
@@ -145,7 +145,7 @@ exec "$@"\n' > /usr/bin/nosync && \
145 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
146 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
147
148 -RUN /usr/bin/pip3 install meson==1.8.1
148 +RUN /usr/bin/pip3 install meson==1.12.0
149
150 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
151 ENV LANG="en_US.UTF-8"
tests/docker/dockerfiles/ubuntu2404.docker
+1 -1
@@ -145,7 +145,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
145 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
146 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
147
148 -RUN /usr/bin/pip3 install meson==1.8.1
148 +RUN /usr/bin/pip3 install meson==1.12.0
149
150 ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
151 ENV LANG="en_US.UTF-8"
tests/lcitool/mappings.yml
+25 -1
@@ -3,6 +3,30 @@ mappings:
3 bindgen:
4 Ubuntu2204:
5
6 + python3:
7 + CentOSStream9: python3.11
8 +
9 + python3-devel:
10 + CentOSStream9: python3.11-devel
11 +
12 + python3-pip:
13 + CentOSStream9: python3.11-pip
14 +
15 + python3-setuptools:
16 + CentOSStream9: python3.11-setuptools
17 +
18 + python3-sphinx:
19 + CentOSStream9:
20 +
21 + python3-sphinx-rtd-theme:
22 + CentOSStream9:
23 +
24 + python3-venv:
25 + CentOSStream9: python3.11
26 +
27 + python3-wheel:
28 + CentOSStream9: python3.11-wheel
29 +
30 meson:
31 # Use Meson from PyPI wherever Rust is enabled
32 Debian:
@@ -23,7 +47,7 @@ mappings:
47 pypi_mappings:
48 # Request more recent version
49 meson:
26 - default: meson==1.8.1
50 + default: meson==1.12.0
51
52 # Drop packages that need devel headers
53 python3-tomli:
tests/lcitool/targets/centos-stream-9.yml renamed