From 413da65d66cd267b2d51c02a587e49c93130df44 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Tue, 28 Oct 2025 02:13:38 -0400 Subject: [PATCH 1/2] ci: Commonize dockerfile style Split all dependencies to new lines and sort them, and use consistent indentation across all files. --- ci/docker/aarch64-linux-android/Dockerfile | 40 +++++++++---------- .../aarch64-unknown-linux-gnu/Dockerfile | 9 ++++- .../aarch64-unknown-linux-musl/Dockerfile | 13 +++++- ci/docker/arm-linux-androideabi/Dockerfile | 40 +++++++++---------- .../arm-unknown-linux-gnueabihf/Dockerfile | 9 ++++- .../arm-unknown-linux-musleabihf/Dockerfile | 13 +++++- .../Dockerfile | 11 ++++- ci/docker/asmjs-unknown-emscripten/Dockerfile | 9 ++--- ci/docker/i686-linux-android/Dockerfile | 40 +++++++++---------- ci/docker/i686-unknown-linux-gnu/Dockerfile | 5 ++- ci/docker/i686-unknown-linux-musl/Dockerfile | 12 +++++- .../loongarch64-unknown-linux-gnu/Dockerfile | 10 +++-- .../loongarch64-unknown-linux-musl/Dockerfile | 13 +++++- .../powerpc-unknown-linux-gnu/Dockerfile | 10 +++-- .../powerpc64-unknown-linux-gnu/Dockerfile | 10 +++-- .../powerpc64le-unknown-linux-gnu/Dockerfile | 10 +++-- .../powerpc64le-unknown-linux-musl/Dockerfile | 13 +++++- .../riscv64gc-unknown-linux-gnu/Dockerfile | 11 +++-- ci/docker/s390x-unknown-linux-gnu/Dockerfile | 13 +++--- ci/docker/s390x-unknown-linux-musl/Dockerfile | 13 +++--- .../sparc64-unknown-linux-gnu/Dockerfile | 19 ++++++--- .../wasm32-unknown-emscripten/Dockerfile | 19 +++++---- ci/docker/x86_64-linux-android/Dockerfile | 15 ++++--- ci/docker/x86_64-unknown-linux-gnu/Dockerfile | 9 +++-- .../x86_64-unknown-linux-gnux32/Dockerfile | 8 ++-- .../x86_64-unknown-linux-musl/Dockerfile | 14 +++++-- 26 files changed, 247 insertions(+), 141 deletions(-) diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile index 8ed15a5234d1e..0e5baf0854238 100644 --- a/ci/docker/aarch64-linux-android/Dockerfile +++ b/ci/docker/aarch64-linux-android/Dockerfile @@ -1,18 +1,18 @@ FROM ubuntu:25.04 RUN dpkg --add-architecture i386 -RUN apt-get update -RUN apt-get install -y --no-install-recommends libc6-dev gcc -RUN apt-get install -y --no-install-recommends \ - file \ - wget \ - ca-certificates \ - python3 \ - unzip \ - expect \ - openjdk-8-jre \ - libstdc++6:i386 \ - libpulse0 +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + expect \ + file \ + gcc \ + libc6-dev \ + libpulse0 \ + libstdc++6:i386 \ + openjdk-8-jre \ + python3 \ + unzip \ + wget WORKDIR /android/ COPY android* /android/ @@ -35,12 +35,12 @@ ENV PATH=$PATH:/rust/bin \ ADD runtest-android.rs /tmp/runtest.rs ENTRYPOINT [ \ - "bash", \ - "-c", \ - # set SHELL so android can detect a 64bits system, see - # http://stackoverflow.com/a/41789144 - "SHELL=/bin/dash /android/sdk/emulator/emulator @aarch64 -no-window & \ - rustc /tmp/runtest.rs -o /tmp/runtest && \ - exec \"$@\"", \ - "--" \ + "bash", \ + "-c", \ + # set SHELL so android can detect a 64bits system, see + # http://stackoverflow.com/a/41789144 + "SHELL=/bin/dash /android/sdk/emulator/emulator @aarch64 -no-window & \ + rustc /tmp/runtest.rs -o /tmp/runtest && \ + exec \"$@\"", \ + "--" \ ] diff --git a/ci/docker/aarch64-unknown-linux-gnu/Dockerfile b/ci/docker/aarch64-unknown-linux-gnu/Dockerfile index a4faeb4a8b96b..e6b1798b1cfbf 100644 --- a/ci/docker/aarch64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/aarch64-unknown-linux-gnu/Dockerfile @@ -1,8 +1,13 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev ca-certificates \ - gcc-aarch64-linux-gnu libc6-dev-arm64-cross qemu-user + ca-certificates \ + gcc \ + gcc-aarch64-linux-gnu \ + libc6-dev \ + libc6-dev-arm64-cross \ + qemu-user + ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \ CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -L /usr/aarch64-linux-gnu" \ PATH=$PATH:/rust/bin diff --git a/ci/docker/aarch64-unknown-linux-musl/Dockerfile b/ci/docker/aarch64-unknown-linux-musl/Dockerfile index f57c5fa6055c2..3bbf58aa3b8b6 100644 --- a/ci/docker/aarch64-unknown-linux-musl/Dockerfile +++ b/ci/docker/aarch64-unknown-linux-musl/Dockerfile @@ -1,8 +1,17 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc make libc6-dev git curl ca-certificates \ - gcc-aarch64-linux-gnu qemu-user xz-utils patch rsync + ca-certificates \ + curl \ + gcc \ + gcc-aarch64-linux-gnu \ + git \ + libc6-dev \ + make \ + patch \ + qemu-user \ + rsync \ + xz-utils COPY install-musl.sh / RUN /install-musl.sh aarch64 diff --git a/ci/docker/arm-linux-androideabi/Dockerfile b/ci/docker/arm-linux-androideabi/Dockerfile index e81623f7bf0e7..23afe49970e71 100644 --- a/ci/docker/arm-linux-androideabi/Dockerfile +++ b/ci/docker/arm-linux-androideabi/Dockerfile @@ -1,18 +1,18 @@ FROM ubuntu:25.04 RUN dpkg --add-architecture i386 -RUN apt-get update -RUN apt-get install -y --no-install-recommends libc6-dev gcc -RUN apt-get install -y --no-install-recommends \ - file \ - wget \ - ca-certificates \ - python3 \ - unzip \ - expect \ - openjdk-8-jre \ - libstdc++6:i386 \ - libpulse0 +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + expect \ + file \ + gcc \ + libc6-dev \ + libpulse0 \ + libstdc++6:i386 \ + openjdk-8-jre \ + python3 \ + unzip \ + wget WORKDIR /android/ COPY android* /android/ @@ -35,12 +35,12 @@ ENV PATH=$PATH:/rust/bin \ ADD runtest-android.rs /tmp/runtest.rs ENTRYPOINT [ \ - "bash", \ - "-c", \ - # set SHELL so android can detect a 64bits system, see - # http://stackoverflow.com/a/41789144 - "SHELL=/bin/dash /android/sdk/emulator/emulator @arm -no-window & \ - rustc /tmp/runtest.rs -o /tmp/runtest && \ - exec \"$@\"", \ - "--" \ + "bash", \ + "-c", \ + # set SHELL so android can detect a 64bits system, see + # http://stackoverflow.com/a/41789144 + "SHELL=/bin/dash /android/sdk/emulator/emulator @arm -no-window & \ + rustc /tmp/runtest.rs -o /tmp/runtest && \ + exec \"$@\"", \ + "--" \ ] diff --git a/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile b/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile index 8f2d3ea80d065..e6cdf778d78c0 100644 --- a/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile +++ b/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile @@ -4,8 +4,13 @@ FROM ubuntu:23.10 RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \ /etc/apt/sources.list && \ apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev ca-certificates \ - gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user + ca-certificates \ + gcc \ + gcc-arm-linux-gnueabihf \ + libc6-dev \ + libc6-dev-armhf-cross \ + qemu-user + ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \ CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \ PATH=$PATH:/rust/bin diff --git a/ci/docker/arm-unknown-linux-musleabihf/Dockerfile b/ci/docker/arm-unknown-linux-musleabihf/Dockerfile index c6bd116b6f1cb..e4628e8befbd0 100644 --- a/ci/docker/arm-unknown-linux-musleabihf/Dockerfile +++ b/ci/docker/arm-unknown-linux-musleabihf/Dockerfile @@ -4,8 +4,17 @@ FROM ubuntu:23.10 RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \ /etc/apt/sources.list && \ apt-get update && apt-get install -y --no-install-recommends \ - gcc make libc6-dev git curl ca-certificates \ - gcc-arm-linux-gnueabihf qemu-user xz-utils patch rsync + ca-certificates \ + curl \ + gcc \ + gcc-arm-linux-gnueabihf \ + git \ + libc6-dev \ + make \ + patch \ + qemu-user \ + rsync \ + xz-utils COPY install-musl.sh / RUN /install-musl.sh arm diff --git a/ci/docker/armv7-unknown-linux-uclibceabihf/Dockerfile b/ci/docker/armv7-unknown-linux-uclibceabihf/Dockerfile index 330493f54a1d1..284389360ac2c 100644 --- a/ci/docker/armv7-unknown-linux-uclibceabihf/Dockerfile +++ b/ci/docker/armv7-unknown-linux-uclibceabihf/Dockerfile @@ -4,8 +4,15 @@ FROM ubuntu:23.10 RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \ /etc/apt/sources.list && \ apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev qemu-user ca-certificates qemu-system-arm curl \ - xz-utils patch file + ca-certificates \ + curl \ + file \ + gcc \ + libc6-dev \ + patch \ + qemu-system-arm \ + qemu-user \ + xz-utils RUN mkdir /toolchain diff --git a/ci/docker/asmjs-unknown-emscripten/Dockerfile b/ci/docker/asmjs-unknown-emscripten/Dockerfile index c8fb40cc3d3c0..312eca1146dba 100644 --- a/ci/docker/asmjs-unknown-emscripten/Dockerfile +++ b/ci/docker/asmjs-unknown-emscripten/Dockerfile @@ -4,9 +4,8 @@ FROM ubuntu:25.04 ENV DEBIAN_FRONTEND=noninteractive ENV TZ=America/New_York -RUN apt-get update -RUN apt-get install -y --no-install-recommends tzdata -RUN apt-get install -y --no-install-recommends \ +RUN apt-get update && apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ curl \ gcc \ @@ -14,8 +13,8 @@ RUN apt-get install -y --no-install-recommends \ libc6-dev \ libxml2 \ python3 \ - xz-utils \ - bzip2 + tzdata \ + xz-utils COPY emscripten.sh / RUN /emscripten.sh diff --git a/ci/docker/i686-linux-android/Dockerfile b/ci/docker/i686-linux-android/Dockerfile index 24d15872efd07..96507d7fc2275 100644 --- a/ci/docker/i686-linux-android/Dockerfile +++ b/ci/docker/i686-linux-android/Dockerfile @@ -1,18 +1,18 @@ FROM ubuntu:25.04 RUN dpkg --add-architecture i386 -RUN apt-get update -RUN apt-get install -y --no-install-recommends libc6-dev gcc -RUN apt-get install -y --no-install-recommends \ - file \ - wget \ - ca-certificates \ - python3 \ - unzip \ - expect \ - openjdk-8-jre \ - libstdc++6:i386 \ - libpulse0 +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + expect \ + gcc \ + libc6-dev \ + libpulse0 \ + libstdc++6:i386 \ + openjdk-8-jre \ + python3 \ + unzip \ + wget \ + file WORKDIR /android/ COPY android* /android/ @@ -35,12 +35,12 @@ ENV PATH=$PATH:/rust/bin \ ADD runtest-android.rs /tmp/runtest.rs ENTRYPOINT [ \ - "bash", \ - "-c", \ - # set SHELL so android can detect a 64bits system, see - # http://stackoverflow.com/a/41789144 - "SHELL=/bin/dash /android/sdk/emulator/emulator @i686 -no-window -no-accel & \ - rustc /tmp/runtest.rs -o /tmp/runtest && \ - exec \"$@\"", \ - "--" \ + "bash", \ + "-c", \ + # set SHELL so android can detect a 64bits system, see + # http://stackoverflow.com/a/41789144 + "SHELL=/bin/dash /android/sdk/emulator/emulator @i686 -no-window -no-accel & \ + rustc /tmp/runtest.rs -o /tmp/runtest && \ + exec \"$@\"", \ + "--" \ ] diff --git a/ci/docker/i686-unknown-linux-gnu/Dockerfile b/ci/docker/i686-unknown-linux-gnu/Dockerfile index fae0b566d33fc..5a2f4c9dd43ec 100644 --- a/ci/docker/i686-unknown-linux-gnu/Dockerfile +++ b/ci/docker/i686-unknown-linux-gnu/Dockerfile @@ -1,10 +1,11 @@ FROM ubuntu:23.10 - # FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \ /etc/apt/sources.list && \ apt-get update && apt-get install -y --no-install-recommends \ - gcc-multilib libc6-dev ca-certificates + ca-certificates \ + gcc-multilib \ + libc6-dev ENV PATH=$PATH:/rust/bin diff --git a/ci/docker/i686-unknown-linux-musl/Dockerfile b/ci/docker/i686-unknown-linux-musl/Dockerfile index 287f325e9151f..82f2b786eda20 100644 --- a/ci/docker/i686-unknown-linux-musl/Dockerfile +++ b/ci/docker/i686-unknown-linux-musl/Dockerfile @@ -5,8 +5,16 @@ RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \ /etc/apt/sources.list && \ dpkg --add-architecture i386 && \ apt-get update && apt-get install -y --no-install-recommends \ - gcc-multilib make libc6-dev git curl ca-certificates libc6-i386 \ - xz-utils patch rsync + ca-certificates \ + curl \ + gcc-multilib \ + git \ + libc6-dev \ + libc6-i386 \ + make \ + patch \ + rsync \ + xz-utils COPY install-musl.sh / RUN /install-musl.sh i686 diff --git a/ci/docker/loongarch64-unknown-linux-gnu/Dockerfile b/ci/docker/loongarch64-unknown-linux-gnu/Dockerfile index 138b9a195adb8..359a40b5f33d6 100644 --- a/ci/docker/loongarch64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/loongarch64-unknown-linux-gnu/Dockerfile @@ -1,9 +1,13 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev qemu-user ca-certificates \ - gcc-14-loongarch64-linux-gnu libc6-dev-loong64-cross \ - linux-headers-generic + ca-certificates \ + gcc \ + gcc-14-loongarch64-linux-gnu \ + libc6-dev \ + libc6-dev-loong64-cross \ + linux-headers-generic \ + qemu-user ENV CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_LINKER=loongarch64-linux-gnu-gcc-14 \ CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-loongarch64 -L /usr/loongarch64-linux-gnu" \ diff --git a/ci/docker/loongarch64-unknown-linux-musl/Dockerfile b/ci/docker/loongarch64-unknown-linux-musl/Dockerfile index ec632c33f7af3..dcf75b428a290 100644 --- a/ci/docker/loongarch64-unknown-linux-musl/Dockerfile +++ b/ci/docker/loongarch64-unknown-linux-musl/Dockerfile @@ -1,8 +1,17 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates curl gcc gcc-14-loongarch64-linux-gnu git libc6-dev \ - make qemu-user xz-utils patch rsync + ca-certificates \ + curl \ + gcc \ + gcc-14-loongarch64-linux-gnu \ + git \ + libc6-dev \ + make \ + patch \ + qemu-user \ + rsync \ + xz-utils COPY install-musl.sh / RUN /install-musl.sh loongarch64 diff --git a/ci/docker/powerpc-unknown-linux-gnu/Dockerfile b/ci/docker/powerpc-unknown-linux-gnu/Dockerfile index 535202951d2ce..99c5f13892095 100644 --- a/ci/docker/powerpc-unknown-linux-gnu/Dockerfile +++ b/ci/docker/powerpc-unknown-linux-gnu/Dockerfile @@ -4,9 +4,13 @@ FROM ubuntu:23.10 RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \ /etc/apt/sources.list && \ apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev qemu-user ca-certificates \ - gcc-powerpc-linux-gnu libc6-dev-powerpc-cross \ - qemu-system-ppc + ca-certificates \ + gcc \ + gcc-powerpc-linux-gnu \ + libc6-dev \ + libc6-dev-powerpc-cross \ + qemu-system-ppc \ + qemu-user ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \ CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -L /usr/powerpc-linux-gnu" \ diff --git a/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile b/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile index a8a9dd8c92263..f7907a32347ac 100644 --- a/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile @@ -1,9 +1,13 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev qemu-user ca-certificates \ - gcc-powerpc64-linux-gnu libc6-dev-ppc64-cross \ - qemu-system-ppc + ca-certificates \ + gcc \ + gcc-powerpc64-linux-gnu \ + libc6-dev \ + libc6-dev-ppc64-cross \ + qemu-system-ppc \ + qemu-user ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \ CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64 -L /usr/powerpc64-linux-gnu" \ diff --git a/ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile b/ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile index 0d6110f39149f..f2f0a6e20c7b2 100644 --- a/ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile +++ b/ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile @@ -1,9 +1,13 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev qemu-user ca-certificates \ - gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross \ - qemu-system-ppc + ca-certificates \ + gcc \ + gcc-powerpc64le-linux-gnu \ + libc6-dev \ + libc6-dev-ppc64el-cross \ + qemu-system-ppc \ + qemu-user ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \ CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64le -L /usr/powerpc64le-linux-gnu" \ diff --git a/ci/docker/powerpc64le-unknown-linux-musl/Dockerfile b/ci/docker/powerpc64le-unknown-linux-musl/Dockerfile index 40a661149f7d8..c21ce6a3d5097 100644 --- a/ci/docker/powerpc64le-unknown-linux-musl/Dockerfile +++ b/ci/docker/powerpc64le-unknown-linux-musl/Dockerfile @@ -1,8 +1,17 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc make libc6-dev git curl ca-certificates \ - gcc-powerpc64le-linux-gnu qemu-user xz-utils patch rsync + ca-certificates \ + curl \ + gcc \ + gcc-powerpc64le-linux-gnu \ + git \ + libc6-dev \ + make \ + patch \ + qemu-user \ + rsync \ + xz-utils COPY install-musl.sh / RUN /install-musl.sh powerpc64le diff --git a/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile b/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile index 43138af5da234..1750f8fd0f70e 100644 --- a/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile +++ b/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile @@ -1,9 +1,14 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev qemu-user ca-certificates \ - gcc-riscv64-linux-gnu libc6-dev-riscv64-cross \ - qemu-system-riscv64 linux-headers-generic + ca-certificates \ + gcc \ + gcc-riscv64-linux-gnu \ + libc6-dev \ + libc6-dev-riscv64-cross \ + linux-headers-generic \ + qemu-system-riscv64 \ + qemu-user ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=riscv64-linux-gnu-gcc \ CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv64 -L /usr/riscv64-linux-gnu" \ diff --git a/ci/docker/s390x-unknown-linux-gnu/Dockerfile b/ci/docker/s390x-unknown-linux-gnu/Dockerfile index aa3490228c4db..4e0e3e7d514f9 100644 --- a/ci/docker/s390x-unknown-linux-gnu/Dockerfile +++ b/ci/docker/s390x-unknown-linux-gnu/Dockerfile @@ -1,11 +1,14 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - curl ca-certificates \ - gcc libc6-dev \ - gcc-s390x-linux-gnu libc6-dev-s390x-cross \ - qemu-system-s390x \ - cpio + ca-certificates \ + cpio \ + curl \ + gcc \ + gcc-s390x-linux-gnu \ + libc6-dev \ + libc6-dev-s390x-cross \ + qemu-system-s390x COPY linux-s390x.sh / RUN /linux-s390x.sh diff --git a/ci/docker/s390x-unknown-linux-musl/Dockerfile b/ci/docker/s390x-unknown-linux-musl/Dockerfile index 0dfad20fb7a1d..58133e216c840 100644 --- a/ci/docker/s390x-unknown-linux-musl/Dockerfile +++ b/ci/docker/s390x-unknown-linux-musl/Dockerfile @@ -1,11 +1,14 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - curl ca-certificates \ - gcc \ - gcc-s390x-linux-gnu \ - qemu-user \ - xz-utils patch rsync + curl \ + ca-certificates \ + gcc \ + gcc-s390x-linux-gnu \ + qemu-user \ + xz-utils \ + patch \ + rsync COPY install-musl.sh / RUN /install-musl.sh s390x diff --git a/ci/docker/sparc64-unknown-linux-gnu/Dockerfile b/ci/docker/sparc64-unknown-linux-gnu/Dockerfile index c55d57105a114..67889b139488d 100644 --- a/ci/docker/sparc64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/sparc64-unknown-linux-gnu/Dockerfile @@ -1,11 +1,20 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ - curl ca-certificates \ - gcc libc6-dev \ - gcc-sparc64-linux-gnu libc6-dev-sparc64-cross \ - qemu-system-sparc64 openbios-sparc seabios ipxe-qemu \ - p7zip-full cpio linux-libc-dev-sparc64-cross qemu-user + ca-certificates \ + cpio \ + curl \ + gcc \ + gcc-sparc64-linux-gnu \ + ipxe-qemu \ + libc6-dev \ + libc6-dev-sparc64-cross \ + linux-libc-dev-sparc64-cross \ + openbios-sparc \ + p7zip-full \ + qemu-system-sparc64 \ + qemu-user \ + seabios ENV CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_LINKER=sparc64-linux-gnu-gcc \ CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-sparc64 -L /usr/sparc64-linux-gnu" \ diff --git a/ci/docker/wasm32-unknown-emscripten/Dockerfile b/ci/docker/wasm32-unknown-emscripten/Dockerfile index 969a0ffca0be3..e068ad59f94c2 100644 --- a/ci/docker/wasm32-unknown-emscripten/Dockerfile +++ b/ci/docker/wasm32-unknown-emscripten/Dockerfile @@ -4,24 +4,23 @@ FROM ubuntu:25.04 ENV DEBIAN_FRONTEND=noninteractive ENV TZ=America/New_York -RUN apt-get update -RUN apt-get install -y --no-install-recommends tzdata -RUN apt-get install -y --no-install-recommends \ +RUN apt-get update && apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ - g++ \ - make \ - file \ + cmake \ curl \ + file \ + g++ \ gcc \ + gdb \ git \ libc6-dev \ libxml2 \ + make \ python3 \ - cmake \ + tzdata \ sudo \ - gdb \ - xz-utils \ - bzip2 + xz-utils RUN ln -s /usr/bin/python3 /usr/bin/python & \ ln -s /usr/bin/pip3 /usr/bin/pip diff --git a/ci/docker/x86_64-linux-android/Dockerfile b/ci/docker/x86_64-linux-android/Dockerfile index 950c2a9fdc612..76b80a894b2bb 100644 --- a/ci/docker/x86_64-linux-android/Dockerfile +++ b/ci/docker/x86_64-linux-android/Dockerfile @@ -1,13 +1,12 @@ FROM ubuntu:25.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - wget \ - gcc \ - libc-dev \ - python3 \ - unzip +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + gcc \ + libc-dev \ + python3 \ + unzip \ + wget WORKDIR /android/ ENV ANDROID_ARCH=x86_64 diff --git a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile index 2f5e83895b9fc..6ebf7bdcfc8de 100644 --- a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile @@ -1,8 +1,11 @@ FROM ubuntu:25.04 -RUN apt-get update -RUN apt-get install -y --no-install-recommends \ - gcc g++ libc6-dev ca-certificates linux-headers-generic +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + g++ \ + gcc \ + libc6-dev \ + linux-headers-generic RUN apt search linux-headers RUN ls /usr/src diff --git a/ci/docker/x86_64-unknown-linux-gnux32/Dockerfile b/ci/docker/x86_64-unknown-linux-gnux32/Dockerfile index 92a92b1dfe98d..0d5cdd7daafb0 100644 --- a/ci/docker/x86_64-unknown-linux-gnux32/Dockerfile +++ b/ci/docker/x86_64-unknown-linux-gnux32/Dockerfile @@ -1,6 +1,8 @@ FROM ubuntu:25.04 -RUN apt-get update -RUN apt-get install -y --no-install-recommends \ - gcc-multilib libc6-dev ca-certificates +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + gcc-multilib \ + libc6-dev + ENV PATH=$PATH:/rust/bin diff --git a/ci/docker/x86_64-unknown-linux-musl/Dockerfile b/ci/docker/x86_64-unknown-linux-musl/Dockerfile index 194a6e7847f55..5b524c31eff79 100644 --- a/ci/docker/x86_64-unknown-linux-musl/Dockerfile +++ b/ci/docker/x86_64-unknown-linux-musl/Dockerfile @@ -1,9 +1,15 @@ FROM ubuntu:25.04 -RUN apt-get update -RUN apt-get install -y --no-install-recommends \ - gcc make libc6-dev git curl ca-certificates \ - xz-utils patch rsync +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + curl \ + gcc \ + git \ + libc6-dev \ + make \ + patch \ + rsync \ + xz-utils COPY install-musl.sh / RUN /install-musl.sh x86_64 From f80e1df60d4c8b0f717fdc9b68802a48c13205ef Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 29 Oct 2025 02:28:57 -0500 Subject: [PATCH 2/2] ci: Remove unused dependency installs `linux-headers-generic` isn't needed, sparc no longer needs the dependencies to prepare for using qemu-system, and g++ isn't needed for platforms that have a C-only libc. --- ci/docker/loongarch64-unknown-linux-gnu/Dockerfile | 1 - ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile | 1 - ci/docker/sparc64-unknown-linux-gnu/Dockerfile | 9 +-------- ci/docker/x86_64-unknown-linux-gnu/Dockerfile | 4 +--- 4 files changed, 2 insertions(+), 13 deletions(-) diff --git a/ci/docker/loongarch64-unknown-linux-gnu/Dockerfile b/ci/docker/loongarch64-unknown-linux-gnu/Dockerfile index 359a40b5f33d6..ab13f33f1187d 100644 --- a/ci/docker/loongarch64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/loongarch64-unknown-linux-gnu/Dockerfile @@ -6,7 +6,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ gcc-14-loongarch64-linux-gnu \ libc6-dev \ libc6-dev-loong64-cross \ - linux-headers-generic \ qemu-user ENV CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_LINKER=loongarch64-linux-gnu-gcc-14 \ diff --git a/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile b/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile index 1750f8fd0f70e..10395b72406b0 100644 --- a/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile +++ b/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile @@ -6,7 +6,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ gcc-riscv64-linux-gnu \ libc6-dev \ libc6-dev-riscv64-cross \ - linux-headers-generic \ qemu-system-riscv64 \ qemu-user diff --git a/ci/docker/sparc64-unknown-linux-gnu/Dockerfile b/ci/docker/sparc64-unknown-linux-gnu/Dockerfile index 67889b139488d..728586f119545 100644 --- a/ci/docker/sparc64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/sparc64-unknown-linux-gnu/Dockerfile @@ -2,19 +2,12 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ - cpio \ - curl \ gcc \ gcc-sparc64-linux-gnu \ - ipxe-qemu \ libc6-dev \ libc6-dev-sparc64-cross \ - linux-libc-dev-sparc64-cross \ - openbios-sparc \ - p7zip-full \ qemu-system-sparc64 \ - qemu-user \ - seabios + qemu-user ENV CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_LINKER=sparc64-linux-gnu-gcc \ CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-sparc64 -L /usr/sparc64-linux-gnu" \ diff --git a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile index 6ebf7bdcfc8de..ed9734ca2b6f8 100644 --- a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile @@ -2,10 +2,8 @@ FROM ubuntu:25.04 RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ - g++ \ gcc \ - libc6-dev \ - linux-headers-generic + libc6-dev RUN apt search linux-headers RUN ls /usr/src