diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 48d9397..7895767 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -12,14 +12,18 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=%%RUST-VERSION%% RUN set -eux; \ + \ %%ARCH-CASE%%; \ + \ url="https://static.rust-lang.org/rustup/archive/%%RUSTUP-VERSION%%/${rustArch}/rustup-init"; \ wget "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index 90b0a61..f12e088 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -1,4 +1,4 @@ -FROM buildpack-deps:%%DEBIAN-SUITE%% +FROM buildpack-deps:%%TAG%% LABEL org.opencontainers.image.source=https://github.com/rust-lang/docker-rust @@ -8,14 +8,18 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=%%RUST-VERSION%% RUN set -eux; \ + \ %%ARCH-CASE%%; \ + \ url="https://static.rust-lang.org/rustup/archive/%%RUSTUP-VERSION%%/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/Dockerfile-slim.template b/Dockerfile-slim.template index b5622b8..0cc8c8b 100644 --- a/Dockerfile-slim.template +++ b/Dockerfile-slim.template @@ -1,4 +1,4 @@ -FROM debian:%%DEBIAN-SUITE%%-slim +FROM debian:%%TAG%%-slim LABEL org.opencontainers.image.source=https://github.com/rust-lang/docker-rust @@ -8,6 +8,7 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=%%RUST-VERSION%% RUN set -eux; \ + \ apt-get update; \ apt-get install -y --no-install-recommends \ ca-certificates \ @@ -15,18 +16,23 @@ RUN set -eux; \ libc6-dev \ wget \ ; \ + \ %%ARCH-CASE%%; \ + \ url="https://static.rust-lang.org/rustup/archive/%%RUSTUP-VERSION%%/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ - rustup --version; \ - cargo --version; \ - rustc --version; \ + \ apt-get remove -y --auto-remove \ wget \ ; \ - rm -rf /var/lib/apt/lists/*; + rm -rf /var/lib/apt/lists/*; \ + \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/nightly/alpine3.20/Dockerfile b/nightly/alpine3.20/Dockerfile index 61100e2..6ab9633 100644 --- a/nightly/alpine3.20/Dockerfile +++ b/nightly/alpine3.20/Dockerfile @@ -12,20 +12,36 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64) rustArch='x86_64-unknown-linux-musl'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; \ - aarch64) rustArch='aarch64-unknown-linux-musl'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; \ - ppc64le) rustArch='powerpc64le-unknown-linux-musl'; rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1' ;; \ - *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \ + \ + arch="$(apk --print-arch)"; \ + case "$arch" in \ + 'x86_64') \ + rustArch='x86_64-unknown-linux-musl'; \ + rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2'; \ + ;; \ + 'aarch64') \ + rustArch='aarch64-unknown-linux-musl'; \ + rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9'; \ + ;; \ + 'ppc64le') \ + rustArch='powerpc64le-unknown-linux-musl'; \ + rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ wget "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/nightly/alpine3.21/Dockerfile b/nightly/alpine3.21/Dockerfile index da7689c..ebe5025 100644 --- a/nightly/alpine3.21/Dockerfile +++ b/nightly/alpine3.21/Dockerfile @@ -12,20 +12,36 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64) rustArch='x86_64-unknown-linux-musl'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; \ - aarch64) rustArch='aarch64-unknown-linux-musl'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; \ - ppc64le) rustArch='powerpc64le-unknown-linux-musl'; rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1' ;; \ - *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \ + \ + arch="$(apk --print-arch)"; \ + case "$arch" in \ + 'x86_64') \ + rustArch='x86_64-unknown-linux-musl'; \ + rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2'; \ + ;; \ + 'aarch64') \ + rustArch='aarch64-unknown-linux-musl'; \ + rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9'; \ + ;; \ + 'ppc64le') \ + rustArch='powerpc64le-unknown-linux-musl'; \ + rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ wget "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/nightly/alpine3.22/Dockerfile b/nightly/alpine3.22/Dockerfile index da43546..e6b406e 100644 --- a/nightly/alpine3.22/Dockerfile +++ b/nightly/alpine3.22/Dockerfile @@ -12,20 +12,36 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64) rustArch='x86_64-unknown-linux-musl'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; \ - aarch64) rustArch='aarch64-unknown-linux-musl'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; \ - ppc64le) rustArch='powerpc64le-unknown-linux-musl'; rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1' ;; \ - *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \ + \ + arch="$(apk --print-arch)"; \ + case "$arch" in \ + 'x86_64') \ + rustArch='x86_64-unknown-linux-musl'; \ + rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2'; \ + ;; \ + 'aarch64') \ + rustArch='aarch64-unknown-linux-musl'; \ + rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9'; \ + ;; \ + 'ppc64le') \ + rustArch='powerpc64le-unknown-linux-musl'; \ + rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ wget "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/nightly/bookworm/Dockerfile b/nightly/bookworm/Dockerfile index c404ec5..c212eaa 100644 --- a/nightly/bookworm/Dockerfile +++ b/nightly/bookworm/Dockerfile @@ -8,23 +8,48 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + 'ppc64el') \ + rustArch='powerpc64le-unknown-linux-gnu'; \ + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ + ;; \ + 's390x') \ + rustArch='s390x-unknown-linux-gnu'; \ + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/nightly/bookworm/slim/Dockerfile b/nightly/bookworm/slim/Dockerfile index 753f25e..3f2f1cd 100644 --- a/nightly/bookworm/slim/Dockerfile +++ b/nightly/bookworm/slim/Dockerfile @@ -8,6 +8,7 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ + \ apt-get update; \ apt-get install -y --no-install-recommends \ ca-certificates \ @@ -15,27 +16,53 @@ RUN set -eux; \ libc6-dev \ wget \ ; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + 'ppc64el') \ + rustArch='powerpc64le-unknown-linux-gnu'; \ + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ + ;; \ + 's390x') \ + rustArch='s390x-unknown-linux-gnu'; \ + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ - rustup --version; \ - cargo --version; \ - rustc --version; \ + \ apt-get remove -y --auto-remove \ wget \ ; \ - rm -rf /var/lib/apt/lists/*; + rm -rf /var/lib/apt/lists/*; \ + \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/nightly/bullseye/Dockerfile b/nightly/bullseye/Dockerfile index 409a3da..e542afb 100644 --- a/nightly/bullseye/Dockerfile +++ b/nightly/bullseye/Dockerfile @@ -8,21 +8,40 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/nightly/bullseye/slim/Dockerfile b/nightly/bullseye/slim/Dockerfile index e21b2e7..bef96b9 100644 --- a/nightly/bullseye/slim/Dockerfile +++ b/nightly/bullseye/slim/Dockerfile @@ -8,6 +8,7 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ + \ apt-get update; \ apt-get install -y --no-install-recommends \ ca-certificates \ @@ -15,25 +16,45 @@ RUN set -eux; \ libc6-dev \ wget \ ; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ - rustup --version; \ - cargo --version; \ - rustc --version; \ + \ apt-get remove -y --auto-remove \ wget \ ; \ - rm -rf /var/lib/apt/lists/*; + rm -rf /var/lib/apt/lists/*; \ + \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/nightly/trixie/Dockerfile b/nightly/trixie/Dockerfile index a39abc1..b0651c7 100644 --- a/nightly/trixie/Dockerfile +++ b/nightly/trixie/Dockerfile @@ -8,24 +8,52 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ - riscv64) rustArch='riscv64gc-unknown-linux-gnu'; rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + 'ppc64el') \ + rustArch='powerpc64le-unknown-linux-gnu'; \ + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ + ;; \ + 's390x') \ + rustArch='s390x-unknown-linux-gnu'; \ + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ + ;; \ + 'riscv64') \ + rustArch='riscv64gc-unknown-linux-gnu'; \ + rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/nightly/trixie/slim/Dockerfile b/nightly/trixie/slim/Dockerfile index 7f8984a..61c0989 100644 --- a/nightly/trixie/slim/Dockerfile +++ b/nightly/trixie/slim/Dockerfile @@ -8,6 +8,7 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=nightly RUN set -eux; \ + \ apt-get update; \ apt-get install -y --no-install-recommends \ ca-certificates \ @@ -15,28 +16,57 @@ RUN set -eux; \ libc6-dev \ wget \ ; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ - riscv64) rustArch='riscv64gc-unknown-linux-gnu'; rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + 'ppc64el') \ + rustArch='powerpc64le-unknown-linux-gnu'; \ + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ + ;; \ + 's390x') \ + rustArch='s390x-unknown-linux-gnu'; \ + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ + ;; \ + 'riscv64') \ + rustArch='riscv64gc-unknown-linux-gnu'; \ + rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ - rustup --version; \ - cargo --version; \ - rustc --version; \ + \ apt-get remove -y --auto-remove \ wget \ ; \ - rm -rf /var/lib/apt/lists/*; + rm -rf /var/lib/apt/lists/*; \ + \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/stable/alpine3.20/Dockerfile b/stable/alpine3.20/Dockerfile index 3665ef1..029bd61 100644 --- a/stable/alpine3.20/Dockerfile +++ b/stable/alpine3.20/Dockerfile @@ -12,20 +12,36 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64) rustArch='x86_64-unknown-linux-musl'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; \ - aarch64) rustArch='aarch64-unknown-linux-musl'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; \ - ppc64le) rustArch='powerpc64le-unknown-linux-musl'; rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1' ;; \ - *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \ + \ + arch="$(apk --print-arch)"; \ + case "$arch" in \ + 'x86_64') \ + rustArch='x86_64-unknown-linux-musl'; \ + rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2'; \ + ;; \ + 'aarch64') \ + rustArch='aarch64-unknown-linux-musl'; \ + rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9'; \ + ;; \ + 'ppc64le') \ + rustArch='powerpc64le-unknown-linux-musl'; \ + rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ wget "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/stable/alpine3.21/Dockerfile b/stable/alpine3.21/Dockerfile index b47b8b0..2092d64 100644 --- a/stable/alpine3.21/Dockerfile +++ b/stable/alpine3.21/Dockerfile @@ -12,20 +12,36 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64) rustArch='x86_64-unknown-linux-musl'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; \ - aarch64) rustArch='aarch64-unknown-linux-musl'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; \ - ppc64le) rustArch='powerpc64le-unknown-linux-musl'; rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1' ;; \ - *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \ + \ + arch="$(apk --print-arch)"; \ + case "$arch" in \ + 'x86_64') \ + rustArch='x86_64-unknown-linux-musl'; \ + rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2'; \ + ;; \ + 'aarch64') \ + rustArch='aarch64-unknown-linux-musl'; \ + rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9'; \ + ;; \ + 'ppc64le') \ + rustArch='powerpc64le-unknown-linux-musl'; \ + rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ wget "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/stable/alpine3.22/Dockerfile b/stable/alpine3.22/Dockerfile index ec8b2bf..037ebda 100644 --- a/stable/alpine3.22/Dockerfile +++ b/stable/alpine3.22/Dockerfile @@ -12,20 +12,36 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64) rustArch='x86_64-unknown-linux-musl'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; \ - aarch64) rustArch='aarch64-unknown-linux-musl'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; \ - ppc64le) rustArch='powerpc64le-unknown-linux-musl'; rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1' ;; \ - *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \ + \ + arch="$(apk --print-arch)"; \ + case "$arch" in \ + 'x86_64') \ + rustArch='x86_64-unknown-linux-musl'; \ + rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2'; \ + ;; \ + 'aarch64') \ + rustArch='aarch64-unknown-linux-musl'; \ + rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9'; \ + ;; \ + 'ppc64le') \ + rustArch='powerpc64le-unknown-linux-musl'; \ + rustupSha256='08423383d36362d93f8d85f208aa5004a7cef77b69b29fb779ba03ed0544e4f1'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ wget "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/stable/bookworm/Dockerfile b/stable/bookworm/Dockerfile index 8ae02ee..5cd24a4 100644 --- a/stable/bookworm/Dockerfile +++ b/stable/bookworm/Dockerfile @@ -8,23 +8,48 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + 'ppc64el') \ + rustArch='powerpc64le-unknown-linux-gnu'; \ + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ + ;; \ + 's390x') \ + rustArch='s390x-unknown-linux-gnu'; \ + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/stable/bookworm/slim/Dockerfile b/stable/bookworm/slim/Dockerfile index d1ac339..e8a4cbe 100644 --- a/stable/bookworm/slim/Dockerfile +++ b/stable/bookworm/slim/Dockerfile @@ -8,6 +8,7 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ + \ apt-get update; \ apt-get install -y --no-install-recommends \ ca-certificates \ @@ -15,27 +16,53 @@ RUN set -eux; \ libc6-dev \ wget \ ; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + 'ppc64el') \ + rustArch='powerpc64le-unknown-linux-gnu'; \ + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ + ;; \ + 's390x') \ + rustArch='s390x-unknown-linux-gnu'; \ + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ - rustup --version; \ - cargo --version; \ - rustc --version; \ + \ apt-get remove -y --auto-remove \ wget \ ; \ - rm -rf /var/lib/apt/lists/*; + rm -rf /var/lib/apt/lists/*; \ + \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/stable/bullseye/Dockerfile b/stable/bullseye/Dockerfile index 45d7e61..7e77788 100644 --- a/stable/bullseye/Dockerfile +++ b/stable/bullseye/Dockerfile @@ -8,21 +8,40 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/stable/bullseye/slim/Dockerfile b/stable/bullseye/slim/Dockerfile index 9ca6739..8aaafe0 100644 --- a/stable/bullseye/slim/Dockerfile +++ b/stable/bullseye/slim/Dockerfile @@ -8,6 +8,7 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ + \ apt-get update; \ apt-get install -y --no-install-recommends \ ca-certificates \ @@ -15,25 +16,45 @@ RUN set -eux; \ libc6-dev \ wget \ ; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ - rustup --version; \ - cargo --version; \ - rustc --version; \ + \ apt-get remove -y --auto-remove \ wget \ ; \ - rm -rf /var/lib/apt/lists/*; + rm -rf /var/lib/apt/lists/*; \ + \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/stable/trixie/Dockerfile b/stable/trixie/Dockerfile index 9f8e280..89ade1c 100644 --- a/stable/trixie/Dockerfile +++ b/stable/trixie/Dockerfile @@ -8,24 +8,52 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ - riscv64) rustArch='riscv64gc-unknown-linux-gnu'; rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + 'ppc64el') \ + rustArch='powerpc64le-unknown-linux-gnu'; \ + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ + ;; \ + 's390x') \ + rustArch='s390x-unknown-linux-gnu'; \ + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ + ;; \ + 'riscv64') \ + rustArch='riscv64gc-unknown-linux-gnu'; \ + rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + \ rustup --version; \ cargo --version; \ rustc --version; diff --git a/stable/trixie/slim/Dockerfile b/stable/trixie/slim/Dockerfile index 4191bb1..f327795 100644 --- a/stable/trixie/slim/Dockerfile +++ b/stable/trixie/slim/Dockerfile @@ -8,6 +8,7 @@ ENV RUSTUP_HOME=/usr/local/rustup \ RUST_VERSION=1.90.0 RUN set -eux; \ + \ apt-get update; \ apt-get install -y --no-install-recommends \ ca-certificates \ @@ -15,28 +16,57 @@ RUN set -eux; \ libc6-dev \ wget \ ; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ - riscv64) rustArch='riscv64gc-unknown-linux-gnu'; rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7' ;; \ - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ + \ + arch="$(dpkg --print-architecture)"; \ + case "$arch" in \ + 'amd64') \ + rustArch='x86_64-unknown-linux-gnu'; \ + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ + ;; \ + 'armhf') \ + rustArch='armv7-unknown-linux-gnueabihf'; \ + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ + ;; \ + 'arm64') \ + rustArch='aarch64-unknown-linux-gnu'; \ + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ + ;; \ + 'i386') \ + rustArch='i686-unknown-linux-gnu'; \ + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ + ;; \ + 'ppc64el') \ + rustArch='powerpc64le-unknown-linux-gnu'; \ + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ + ;; \ + 's390x') \ + rustArch='s390x-unknown-linux-gnu'; \ + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ + ;; \ + 'riscv64') \ + rustArch='riscv64gc-unknown-linux-gnu'; \ + rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7'; \ + ;; \ + *) \ + echo >&2 "unsupported architecture: $arch"; \ + exit 1; \ + ;; \ esac; \ + \ url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ - wget "$url"; \ + wget --progress=dot:giga "$url"; \ echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + \ chmod +x rustup-init; \ ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ rm rustup-init; \ chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ - rustup --version; \ - cargo --version; \ - rustc --version; \ + \ apt-get remove -y --auto-remove \ wget \ ; \ - rm -rf /var/lib/apt/lists/*; + rm -rf /var/lib/apt/lists/*; \ + \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/x.py b/x.py index f4a71b1..389f476 100755 --- a/x.py +++ b/x.py @@ -34,16 +34,16 @@ DebianArch("riscv64", "riscv64", "linux/riscv64", "riscv64gc-unknown-linux-gnu"), ] -DebianVariant = namedtuple("DebianVariant", ["name", "arches"]) - -debian_variants = [ - DebianVariant("bullseye", debian_lts_arches), - DebianVariant("bookworm", debian_lts_arches + debian_non_lts_arches), - DebianVariant("trixie", debian_lts_arches + debian_non_lts_arches + debian_trixie_arches), +latest_debian_release = "trixie" + +DebianRelease = namedtuple("DebianRelease", ["name", "arches"]) + +debian_releases = [ + DebianRelease("bullseye", debian_lts_arches), + DebianRelease("bookworm", debian_lts_arches + debian_non_lts_arches), + DebianRelease(latest_debian_release, debian_lts_arches + debian_non_lts_arches + debian_trixie_arches), ] -default_debian_variant = "trixie" - AlpineArch = namedtuple("AlpineArch", ["bashbrew", "apk", "qemu", "rust"]) alpine_arches = [ @@ -52,14 +52,13 @@ AlpineArch("ppc64le", "ppc64le", "linux/ppc64le", "powerpc64le-unknown-linux-musl"), ] +latest_alpine_version = "3.22" alpine_versions = [ "3.20", "3.21", - "3.22", + latest_alpine_version, ] -default_alpine_version = "3.22" - def rustup_hash(arch): url = f"https://static.rust-lang.org/rustup/archive/{rustup_version}/{arch}/rustup-init.sha256" with request.urlopen(url) as f: @@ -77,54 +76,81 @@ def write_file(file, contents): f.write(contents) def update_debian(): - end = ' *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \\\n' - end += ' esac' - - template = read_file("Dockerfile-debian.template") - slim_template = read_file("Dockerfile-slim.template") - - for variant in debian_variants: - arch_case = 'dpkgArch="$(dpkg --print-architecture)"; \\\n' - arch_case += ' case "${dpkgArch##*-}" in \\\n' - for arch in variant.arches: - hash = rustup_hash(arch.rust) - arch_case += f" {arch.dpkg}) rustArch='{arch.rust}'; rustupSha256='{hash}' ;; \\\n" - arch_case += end + for release in debian_releases: + arch_cases_str = arch_cases_start("$(dpkg --print-architecture)") + for debian_arch in release.arches: + arch_cases_str += arch_case(debian_arch.dpkg, debian_arch.rust) + arch_cases_str += arch_cases_end() for channel in supported_channels: - rendered = template \ - .replace("%%RUST-VERSION%%", channel.rust_version) \ - .replace("%%RUSTUP-VERSION%%", rustup_version) \ - .replace("%%DEBIAN-SUITE%%", variant.name) \ - .replace("%%ARCH-CASE%%", arch_case) - write_file(f"{channel.name}/{variant.name}/Dockerfile", rendered) - - rendered = slim_template \ - .replace("%%RUST-VERSION%%", channel.rust_version) \ - .replace("%%RUSTUP-VERSION%%", rustup_version) \ - .replace("%%DEBIAN-SUITE%%", variant.name) \ - .replace("%%ARCH-CASE%%", arch_case) - write_file(f"{channel.name}/{variant.name}/slim/Dockerfile", rendered) + render_template( + "Dockerfile-debian.template", + channel.rust_version, + release.name, + arch_cases_str, + f"{channel.name}/{release.name}/Dockerfile", + ) + + render_template( + "Dockerfile-slim.template", + channel.rust_version, + release.name, + arch_cases_str, + f"{channel.name}/{release.name}/slim/Dockerfile", + ) def update_alpine(): - arch_case = 'apkArch="$(apk --print-arch)"; \\\n' - arch_case += ' case "$apkArch" in \\\n' + arch_cases_str = arch_cases_start("$(apk --print-arch)") for arch in alpine_arches: - hash = rustup_hash(arch.rust) - arch_case += f" {arch.apk}) rustArch='{arch.rust}'; rustupSha256='{hash}' ;; \\\n" - arch_case += ' *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \\\n' - arch_case += ' esac' - - template = read_file("Dockerfile-alpine.template") + arch_cases_str += arch_case(arch.apk, arch.rust) + arch_cases_str += arch_cases_end() for version in alpine_versions: for channel in supported_channels: - rendered = template \ - .replace("%%RUST-VERSION%%", channel.rust_version) \ - .replace("%%RUSTUP-VERSION%%", rustup_version) \ - .replace("%%TAG%%", version) \ - .replace("%%ARCH-CASE%%", arch_case) - write_file(f"{channel.name}/alpine{version}/Dockerfile", rendered) + render_template( + "Dockerfile-alpine.template", + channel.rust_version, + version, + arch_cases_str, + f"{channel.name}/alpine{version}/Dockerfile", + ) + +def arch_cases_start(arch_cmd): + start = f'arch="{arch_cmd}"; \\\n' + start += ' case "$arch" in \\\n' + return start + +def arch_cases_end(): + end = '' + end += ' *) \\\n' + end += ' echo >&2 "unsupported architecture: $arch"; \\\n' + end += ' exit 1; \\\n' + end += ' ;; \\\n' + end += ' esac' + return end + +def arch_case(distro_arch, rust_arch): + rustup_sha256 = rustup_hash(rust_arch) + arch_case_str = f" '{distro_arch}') \\\n" + arch_case_str += f" rustArch='{rust_arch}'; \\\n" + arch_case_str += f" rustupSha256='{rustup_sha256}'; \\\n" + arch_case_str += " ;; \\\n" + return arch_case_str + +def render_template( + template_path, + rust_version, + docker_tag, + arch_cases, + rendered_path +): + template = read_file(template_path) + rendered = template \ + .replace("%%TAG%%", docker_tag) \ + .replace("%%RUST-VERSION%%", rust_version) \ + .replace("%%RUSTUP-VERSION%%", rustup_version) \ + .replace("%%ARCH-CASE%%", arch_cases) + write_file(rendered_path, rendered) def update_ci(): file = ".github/workflows/ci.yml" @@ -135,11 +161,11 @@ def update_ci(): rendered = split[0] + marker + f" RUST_VERSION: {stable.rust_version}\n" + marker + split[2] versions = "" - for variant in debian_variants: - versions += f" - name: {variant.name}\n" - versions += f" variant: {variant.name}\n" - versions += f" - name: slim-{variant.name}\n" - versions += f" variant: {variant.name}/slim\n" + for release in debian_releases: + versions += f" - name: {release.name}\n" + versions += f" variant: {release.name}\n" + versions += f" - name: slim-{release.name}\n" + versions += f" variant: {release.name}/slim\n" for version in alpine_versions: versions += f" - name: alpine{version}\n" @@ -160,7 +186,7 @@ def update_mirror_stable_ci(): for version_tag in version_tags(): tags.append(f"{version_tag}-alpine{version}") tags.append(f"alpine{version}") - if version == default_alpine_version: + if version == latest_alpine_version: for version_tag in version_tags(): tags.append(f"{version_tag}-alpine") tags.append("alpine") @@ -170,31 +196,31 @@ def update_mirror_stable_ci(): for tag in tags: versions += f" {tag}\n" - for variant in debian_variants: + for release in debian_releases: tags = [] for version_tag in version_tags(): - tags.append(f"{version_tag}-{variant.name}") - tags.append(variant.name) - if variant.name == default_debian_variant: + tags.append(f"{version_tag}-{release.name}") + tags.append(release.name) + if release.name == latest_debian_release: for version_tag in version_tags(): tags.append(version_tag) tags.append("latest") - versions += f" - name: {variant.name}\n" + versions += f" - name: {release.name}\n" versions += " tags: |\n" for tag in tags: versions += f" {tag}\n" tags = [] for version_tag in version_tags(): - tags.append(f"{version_tag}-slim-{variant.name}") - tags.append(f"slim-{variant.name}") - if variant.name == default_debian_variant: + tags.append(f"{version_tag}-slim-{release.name}") + tags.append(f"slim-{release.name}") + if release.name == latest_debian_release: for version_tag in version_tags(): tags.append(f"{version_tag}-slim") tags.append("slim") - versions += f" - name: slim-{variant.name}\n" + versions += f" - name: slim-{release.name}\n" versions += " tags: |\n" for tag in tags: versions += f" {tag}\n" @@ -211,27 +237,27 @@ def update_nightly_ci(): versions = "" - for variant in debian_variants: + for release in debian_releases: platforms = [] - for arch in variant.arches: + for arch in release.arches: platforms.append(f"{arch.qemu}") platforms = ",".join(platforms) - tags = [f"nightly-{variant.name}"] - if variant.name == default_debian_variant: + tags = [f"nightly-{release.name}"] + if release.name == latest_debian_release: tags.append("nightly") - versions += f" - name: {variant.name}\n" - versions += f" context: nightly/{variant.name}\n" + versions += f" - name: {release.name}\n" + versions += f" context: nightly/{release.name}\n" versions += f" platforms: {platforms}\n" - versions += f" tags: |\n" + versions += " tags: |\n" for tag in tags: versions += f" {tag}\n" - versions += f" - name: slim-{variant.name}\n" - versions += f" context: nightly/{variant.name}/slim\n" + versions += f" - name: slim-{release.name}\n" + versions += f" context: nightly/{release.name}/slim\n" versions += f" platforms: {platforms}\n" - versions += f" tags: |\n" + versions += " tags: |\n" for tag in tags: versions += f" {tag}-slim\n" @@ -242,13 +268,13 @@ def update_nightly_ci(): platforms = ",".join(platforms) tags = [f"nightly-alpine{version}"] - if version == default_alpine_version: + if version == latest_alpine_version: tags.append("nightly-alpine") versions += f" - name: alpine{version}\n" versions += f" context: nightly/alpine{version}\n" versions += f" platforms: {platforms}\n" - versions += f" tags: |\n" + versions += " tags: |\n" for tag in tags: versions += f" {tag}\n" @@ -292,28 +318,28 @@ def generate_stackbrew_library(): GitRepo: https://github.com/rust-lang/docker-rust.git """ - for variant in debian_variants: + for release in debian_releases: tags = [] for version_tag in version_tags(): - tags.append(f"{version_tag}-{variant.name}") - tags.append(variant.name) - if variant.name == default_debian_variant: + tags.append(f"{version_tag}-{release.name}") + tags.append(release.name) + if release.name == latest_debian_release: for version_tag in version_tags(): tags.append(version_tag) tags.append("latest") - arches = variant.arches[:] + arches = release.arches[:] library += single_library( tags, map(lambda a: a.bashbrew, arches), - os.path.join(stable.name, variant.name)) + os.path.join(stable.name, release.name)) tags = [] for version_tag in version_tags(): - tags.append(f"{version_tag}-slim-{variant.name}") - tags.append(f"slim-{variant.name}") - if variant.name == default_debian_variant: + tags.append(f"{version_tag}-slim-{release.name}") + tags.append(f"slim-{release.name}") + if release.name == latest_debian_release: for version_tag in version_tags(): tags.append(f"{version_tag}-slim") tags.append("slim") @@ -321,14 +347,14 @@ def generate_stackbrew_library(): library += single_library( tags, map(lambda a: a.bashbrew, arches), - os.path.join(stable.name, variant.name, "slim")) + os.path.join(stable.name, release.name, "slim")) for version in alpine_versions: tags = [] for version_tag in version_tags(): tags.append(f"{version_tag}-alpine{version}") tags.append(f"alpine{version}") - if version == default_alpine_version: + if version == latest_alpine_version: for version_tag in version_tags(): tags.append(f"{version_tag}-alpine") tags.append("alpine")