tests: add ubuntu 2404
Reviewed-by: Philippe Mathieu-Daudé <philmd@mailo.com> Link: https://lore.kernel.org/qemu-devel/20260610192222.2709135-3-pierrick.bouvier@oss.qualcomm.com Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Pierrick Bouvier committed
Jun 10, 2026 at 12:22 UTC
8bccc09bfb9a345094ecc91b22995506d50e0421
2 files changed
+176
-2
tests/docker/dockerfiles/ubuntu2404.docker
new
+172
@@ -0,0 +1,172 @@
1
+# THIS FILE WAS AUTO-GENERATED
2
+#
3
+# $ lcitool dockerfile --layers all ubuntu-2404 qemu
4
+#
5
+# https://gitlab.com/libvirt/libvirt-ci
6
+
7
+FROM docker.io/library/ubuntu:24.04
8
+
9
+RUN export DEBIAN_FRONTEND=noninteractive && \
10
+ apt-get update && \
11
+ apt-get install -y eatmydata && \
12
+ eatmydata apt-get dist-upgrade -y && \
13
+ eatmydata apt-get install --no-install-recommends -y \
14
+ bash \
15
+ bc \
16
+ bindgen \
17
+ bison \
18
+ bsdextrautils \
19
+ bzip2 \
20
+ ca-certificates \
21
+ ccache \
22
+ clang \
23
+ coreutils \
24
+ dbus \
25
+ debianutils \
26
+ diffutils \
27
+ exuberant-ctags \
28
+ findutils \
29
+ flex \
30
+ gcc \
31
+ gcovr \
32
+ gettext \
33
+ git \
34
+ hostname \
35
+ libaio-dev \
36
+ libasan8 \
37
+ libasound2-dev \
38
+ libattr1-dev \
39
+ libbpf-dev \
40
+ libbrlapi-dev \
41
+ libbz2-dev \
42
+ libc6-dev \
43
+ libcacard-dev \
44
+ libcap-ng-dev \
45
+ libcapstone-dev \
46
+ libcbor-dev \
47
+ libclang-rt-dev \
48
+ libcmocka-dev \
49
+ libcurl4-gnutls-dev \
50
+ libdaxctl-dev \
51
+ libdrm-dev \
52
+ libepoxy-dev \
53
+ libfdt-dev \
54
+ libffi-dev \
55
+ libfuse3-dev \
56
+ libgbm-dev \
57
+ libgcrypt20-dev \
58
+ libglib2.0-dev \
59
+ libgnutls28-dev \
60
+ libgtk-3-dev \
61
+ libgtk-vnc-2.0-dev \
62
+ libibverbs-dev \
63
+ libiscsi-dev \
64
+ libjemalloc-dev \
65
+ libjpeg-turbo8-dev \
66
+ libjson-c-dev \
67
+ liblttng-ust-dev \
68
+ liblzo2-dev \
69
+ libncursesw5-dev \
70
+ libnfs-dev \
71
+ libnuma-dev \
72
+ libpam0g-dev \
73
+ libpcre2-dev \
74
+ libpipewire-0.3-dev \
75
+ libpixman-1-dev \
76
+ libpmem-dev \
77
+ libpng-dev \
78
+ libpulse-dev \
79
+ librbd-dev \
80
+ librdmacm-dev \
81
+ libsasl2-dev \
82
+ libsdl2-dev \
83
+ libsdl2-image-dev \
84
+ libseccomp-dev \
85
+ libselinux1-dev \
86
+ libslirp-dev \
87
+ libsnappy-dev \
88
+ libsndio-dev \
89
+ libspice-protocol-dev \
90
+ libspice-server-dev \
91
+ libssh-dev \
92
+ libstd-rust-dev \
93
+ libsystemd-dev \
94
+ libtasn1-6-dev \
95
+ libubsan1 \
96
+ libudev-dev \
97
+ liburing-dev \
98
+ libusb-1.0-0-dev \
99
+ libusbredirhost-dev \
100
+ libvdeplug-dev \
101
+ libvirglrenderer-dev \
102
+ libvte-2.91-dev \
103
+ libxdp-dev \
104
+ libxen-dev \
105
+ libzstd-dev \
106
+ llvm \
107
+ locales \
108
+ make \
109
+ mtools \
110
+ multipath-tools \
111
+ nettle-dev \
112
+ ninja-build \
113
+ openssh-client \
114
+ pkgconf \
115
+ python3 \
116
+ python3-numpy \
117
+ python3-opencv \
118
+ python3-pillow \
119
+ python3-pip \
120
+ python3-setuptools \
121
+ python3-sphinx \
122
+ python3-sphinx-rtd-theme \
123
+ python3-tomli \
124
+ python3-venv \
125
+ python3-wheel \
126
+ python3-yaml \
127
+ rpm2cpio \
128
+ rustc-1.83 \
129
+ sed \
130
+ socat \
131
+ sparse \
132
+ swtpm \
133
+ systemtap-sdt-dev \
134
+ tar \
135
+ tesseract-ocr \
136
+ tesseract-ocr-eng \
137
+ vulkan-tools \
138
+ xorriso \
139
+ zlib1g-dev \
140
+ zstd && \
141
+ eatmydata apt-get autoremove -y && \
142
+ eatmydata apt-get autoclean -y && \
143
+ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
144
+ dpkg-reconfigure locales && \
145
+ rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
146
+ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
147
+ mkdir -p /usr/libexec/ccache-wrappers && \
148
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
149
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
150
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
151
+
152
+RUN /usr/bin/pip3 install meson==1.8.1
153
+
154
+ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
155
+ENV LANG="en_US.UTF-8"
156
+ENV MAKE="/usr/bin/make"
157
+ENV NINJA="/usr/bin/ninja"
158
+ENV PYTHON="/usr/bin/python3"
159
+ENV RUSTC=/usr/bin/rustc-1.83
160
+ENV RUSTDOC=/usr/bin/rustdoc-1.83
161
+ENV CARGO_HOME=/usr/local/cargo
162
+ENV PATH=$CARGO_HOME/bin:$PATH
163
+RUN DEBIAN_FRONTEND=noninteractive eatmydata \
164
+ apt install -y --no-install-recommends cargo
165
+RUN cargo install --locked bindgen-cli
166
+# As a final step configure the user (if env is defined)
167
+ARG USER
168
+ARG UID
169
+RUN if [ "${USER}" ]; then \
170
+ id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
171
+
172
+ENV ENABLE_RUST=1
tests/lcitool/refresh
+4
-2
@@ -151,7 +151,7 @@ fedora_rustup_nightly_extras = [
151
'RUN $CARGO --list\n',
152
]
153
154
-ubuntu2204_rust_extras = [
154
+ubuntu2404_rust_extras = [
155
"ENV RUSTC=/usr/bin/rustc-1.83\n",
156
"ENV RUSTDOC=/usr/bin/rustdoc-1.83\n",
157
"ENV CARGO_HOME=/usr/local/cargo\n",
@@ -229,8 +229,10 @@ try:
229
trailer="".join(debian13_extras))
230
generate_dockerfile("fedora", "fedora-43")
231
generate_dockerfile("opensuse-leap", "opensuse-leap-16")
232
+ generate_dockerfile("ubuntu2404", "ubuntu-2404",
233
+ trailer="".join(ubuntu2404_rust_extras))
234
generate_dockerfile("ubuntu2204", "ubuntu-2204",
233
- trailer="".join(ubuntu2204_rust_extras),
235
+ trailer="".join(ubuntu2404_rust_extras),
236
# https://bugs.launchpad.net/ubuntu/+source/rustc-1.83/+bug/2120318
237
enable_rust=False)
238