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: