Skip to content

Commit cffbad3

Browse files
authored
Merge pull request #4120 from tgross35/docker-fixes
ci: Update or patch Docker images
2 parents 2f931d9 + 0e8d8d2 commit cffbad3

File tree

30 files changed

+80
-48
lines changed

30 files changed

+80
-48
lines changed

ci/docker/aarch64-linux-android/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN dpkg --add-architecture i386
44
RUN apt-get update
@@ -8,7 +8,6 @@ RUN apt-get install -y --no-install-recommends \
88
wget \
99
ca-certificates \
1010
python3 \
11-
python3-distutils \
1211
unzip \
1312
expect \
1413
openjdk-8-jre \

ci/docker/aarch64-unknown-linux-gnu/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
2+
23
RUN apt-get update && apt-get install -y --no-install-recommends \
34
gcc libc6-dev ca-certificates \
45
gcc-aarch64-linux-gnu libc6-dev-arm64-cross qemu-user

ci/docker/aarch64-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
gcc make libc6-dev git curl ca-certificates \

ci/docker/arm-linux-androideabi/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN dpkg --add-architecture i386
44
RUN apt-get update
@@ -8,7 +8,6 @@ RUN apt-get install -y --no-install-recommends \
88
wget \
99
ca-certificates \
1010
python3 \
11-
python3-distutils \
1211
unzip \
1312
expect \
1413
openjdk-8-jre \
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
FROM ubuntu:23.10
2-
RUN apt-get update && apt-get install -y --no-install-recommends \
3-
gcc libc6-dev ca-certificates \
4-
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user
2+
3+
# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time
4+
RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \
5+
/etc/apt/sources.list && \
6+
apt-get update && apt-get install -y --no-install-recommends \
7+
gcc libc6-dev ca-certificates \
8+
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user
59
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
610
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \
711
PATH=$PATH:/rust/bin

ci/docker/arm-unknown-linux-musleabihf/Dockerfile

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
FROM ubuntu:23.10
22

3-
RUN apt-get update && apt-get install -y --no-install-recommends \
4-
gcc make libc6-dev git curl ca-certificates \
5-
gcc-arm-linux-gnueabihf qemu-user
3+
# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time
4+
RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \
5+
/etc/apt/sources.list && \
6+
apt-get update && apt-get install -y --no-install-recommends \
7+
gcc make libc6-dev git curl ca-certificates \
8+
gcc-arm-linux-gnueabihf qemu-user
69

710
COPY install-musl.sh /
811
RUN sh /install-musl.sh arm

ci/docker/armv7-unknown-linux-uclibceabihf/Dockerfile

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
FROM ubuntu:23.10
22

3-
RUN apt-get update && apt-get install -y --no-install-recommends \
3+
# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time
4+
RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \
5+
/etc/apt/sources.list && \
6+
apt-get update && apt-get install -y --no-install-recommends \
47
gcc libc6-dev qemu-user ca-certificates qemu-system-arm curl \
58
xz-utils patch file
69

ci/docker/asmjs-unknown-emscripten/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
# This is a workaround to avoid the interaction with tzdata.
44
ENV DEBIAN_FRONTEND=noninteractive
@@ -14,7 +14,6 @@ RUN apt-get install -y --no-install-recommends \
1414
libc6-dev \
1515
libxml2 \
1616
python3 \
17-
python3-distutils \
1817
xz-utils \
1918
bzip2
2019

ci/docker/i686-linux-android/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN dpkg --add-architecture i386
44
RUN apt-get update
@@ -8,7 +8,6 @@ RUN apt-get install -y --no-install-recommends \
88
wget \
99
ca-certificates \
1010
python3 \
11-
python3-distutils \
1211
unzip \
1312
expect \
1413
openjdk-8-jre \
+8-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
FROM ubuntu:23.10
2-
RUN apt-get update
3-
RUN apt-get install -y --no-install-recommends \
4-
gcc-multilib libc6-dev ca-certificates
2+
3+
4+
# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time
5+
RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \
6+
/etc/apt/sources.list && \
7+
apt-get update && apt-get install -y --no-install-recommends \
8+
gcc-multilib libc6-dev ca-certificates
9+
510
ENV PATH=$PATH:/rust/bin

ci/docker/i686-unknown-linux-musl/Dockerfile

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
FROM ubuntu:23.10
22

3-
RUN dpkg --add-architecture i386
4-
RUN apt-get update
5-
RUN apt-get install -y --no-install-recommends \
6-
gcc-multilib make libc6-dev git curl ca-certificates libc6-i386
3+
4+
# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time
5+
RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \
6+
/etc/apt/sources.list && \
7+
dpkg --add-architecture i386 && \
8+
apt-get update && apt-get install -y --no-install-recommends \
9+
gcc-multilib make libc6-dev git curl ca-certificates libc6-i386
710

811
COPY install-musl.sh /
912
RUN sh /install-musl.sh i686

ci/docker/loongarch64-unknown-linux-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:24.04
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
gcc libc6-dev qemu-user ca-certificates \

ci/docker/loongarch64-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:24.04
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
ca-certificates curl gcc git libc6-dev make qemu-user xz-utils

ci/docker/powerpc-unknown-linux-gnu/Dockerfile

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
FROM ubuntu:23.10
22

3-
RUN apt-get update && apt-get install -y --no-install-recommends \
3+
# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time
4+
RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \
5+
/etc/apt/sources.list && \
6+
apt-get update && apt-get install -y --no-install-recommends \
47
gcc libc6-dev qemu-user ca-certificates \
58
gcc-powerpc-linux-gnu libc6-dev-powerpc-cross \
69
qemu-system-ppc

ci/docker/powerpc64-unknown-linux-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
gcc libc6-dev qemu-user ca-certificates \

ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
gcc libc6-dev qemu-user ca-certificates \

ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
gcc libc6-dev qemu-user ca-certificates \

ci/docker/s390x-unknown-linux-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
curl ca-certificates \

ci/docker/s390x-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
curl ca-certificates \

ci/docker/sparc64-unknown-linux-gnu/Dockerfile

+7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# FIXME(sparc): newer versions of Ubuntu get the following errors
2+
# ```
3+
# /prog: /lib/sparc64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /prog)
4+
# /prog: /lib/sparc64-linux-gnu/libc.so.6: version `GLIBC_2.39' not found (required by /prog)
5+
# ```
6+
# Not sure if this is a problem from rustc, our libc, or Ubuntu so we just
7+
# stick with an old LTS for now.
18
FROM ubuntu:22.04
29

310
RUN apt-get update && apt-get install -y --no-install-recommends \

ci/docker/wasm32-unknown-emscripten/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
# This is a workaround to avoid the interaction with tzdata.
44
ENV DEBIAN_FRONTEND=noninteractive
@@ -17,7 +17,6 @@ RUN apt-get install -y --no-install-recommends \
1717
libc6-dev \
1818
libxml2 \
1919
python3 \
20-
python3-distutils \
2120
cmake \
2221
sudo \
2322
gdb \

ci/docker/wasm32-wasip1/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:24.04
1+
FROM ubuntu:24.10
22

33
COPY wasi.sh /
44
RUN bash /wasi.sh

ci/docker/wasm32-wasip2/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:24.04
1+
FROM ubuntu:24.10
22

33
COPY wasi.sh /
44
RUN bash /wasi.sh

ci/docker/x86_64-linux-android/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN apt-get update && \
44
apt-get install -y --no-install-recommends \
@@ -7,7 +7,6 @@ RUN apt-get update && \
77
gcc \
88
libc-dev \
99
python3 \
10-
python3-distutils \
1110
unzip
1211

1312
WORKDIR /android/

ci/docker/x86_64-unknown-linux-gnu/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
2+
23
RUN apt-get update
34
RUN apt-get install -y --no-install-recommends \
45
gcc libc6-dev ca-certificates linux-headers-generic

ci/docker/x86_64-unknown-linux-gnux32/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
2+
23
RUN apt-get update
34
RUN apt-get install -y --no-install-recommends \
45
gcc-multilib libc6-dev ca-certificates

ci/docker/x86_64-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:23.10
1+
FROM ubuntu:24.10
22

33
RUN apt-get update
44
RUN apt-get install -y --no-install-recommends \

ci/style.sh

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ rustc ci/style.rs && ./style src
1414
command -v rustfmt
1515
rustfmt -V
1616

17+
# Run once to cover everything that isn't in `src/`
18+
cargo fmt
19+
1720
# Save a list of all source files
1821
tmpfile="file-list~" # trailing tilde for gitignore
1922
find src -name '*.rs' > "$tmpfile"

libc-test/build.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -4496,7 +4496,10 @@ fn test_linux(target: &str) {
44964496
// `handle` is a VLA
44974497
(struct_ == "fanotify_event_info_fid" && field == "handle") ||
44984498
// invalid application of 'sizeof' to incomplete type 'long unsigned int[]'
4499-
(musl && struct_ == "mcontext_t" && field == "__extcontext" && loongarch64)
4499+
(musl && struct_ == "mcontext_t" && field == "__extcontext" && loongarch64) ||
4500+
// FIXME(#4121): a new field was added from `f_spare`
4501+
(struct_ == "statvfs" && field == "__f_spare") ||
4502+
(struct_ == "statvfs64" && field == "__f_spare")
45004503
});
45014504

45024505
cfg.skip_roundtrip(move |s| match s {

src/macros.rs

+7-6
Original file line numberDiff line numberDiff line change
@@ -197,13 +197,14 @@ macro_rules! e {
197197

198198
// FIXME(ctest): ctest can't handle `const extern` functions, we should be able to remove this
199199
// cfg completely.
200+
// FIXME(ctest): ctest can't handle `$(,)?` so we use `$(,)*` which isn't quite correct.
200201
cfg_if! {
201202
if #[cfg(feature = "const-extern-fn")] {
202203
/// Define an `unsafe` function that is const as long as `const-extern-fn` is enabled.
203204
macro_rules! f {
204205
($(
205206
$(#[$attr:meta])*
206-
pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)?) -> $ret:ty
207+
pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)*) -> $ret:ty
207208
$body:block
208209
)*) => ($(
209210
#[inline]
@@ -217,7 +218,7 @@ cfg_if! {
217218
macro_rules! safe_f {
218219
($(
219220
$(#[$attr:meta])*
220-
pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)?) -> $ret:ty
221+
pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)*) -> $ret:ty
221222
$body:block
222223
)*) => ($(
223224
#[inline]
@@ -231,7 +232,7 @@ cfg_if! {
231232
macro_rules! const_fn {
232233
($(
233234
$(#[$attr:meta])*
234-
$({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)?) -> $ret:ty
235+
$({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)*) -> $ret:ty
235236
$body:block
236237
)*) => ($(
237238
#[inline]
@@ -245,7 +246,7 @@ cfg_if! {
245246
macro_rules! f {
246247
($(
247248
$(#[$attr:meta])*
248-
pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)?) -> $ret:ty
249+
pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)*) -> $ret:ty
249250
$body:block
250251
)*) => ($(
251252
#[inline]
@@ -259,7 +260,7 @@ cfg_if! {
259260
macro_rules! safe_f {
260261
($(
261262
$(#[$attr:meta])*
262-
pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)?) -> $ret:ty
263+
pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)*) -> $ret:ty
263264
$body:block
264265
)*) => ($(
265266
#[inline]
@@ -273,7 +274,7 @@ cfg_if! {
273274
macro_rules! const_fn {
274275
($(
275276
$(#[$attr:meta])*
276-
$({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)?) -> $ret:ty
277+
$({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)*) -> $ret:ty
277278
$body:block
278279
)*) => ($(
279280
#[inline]

0 commit comments

Comments
 (0)