From 125f208fc46e0836bb6a29dae09735bd75989611 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 8 May 2026 17:29:37 -0400 Subject: [PATCH 1/7] fix: sync i368 dropped condition --- 22/bookworm-slim/Dockerfile | 1 - 22/bookworm/Dockerfile | 1 - 22/bullseye-slim/Dockerfile | 1 - 22/bullseye/Dockerfile | 1 - 22/trixie-slim/Dockerfile | 1 - 22/trixie/Dockerfile | 1 - 24/bookworm-slim/Dockerfile | 1 - 24/bookworm/Dockerfile | 1 - 24/bullseye-slim/Dockerfile | 1 - 24/bullseye/Dockerfile | 1 - 24/trixie-slim/Dockerfile | 1 - 24/trixie/Dockerfile | 1 - 25/bookworm-slim/Dockerfile | 1 - 25/bookworm/Dockerfile | 1 - 25/bullseye-slim/Dockerfile | 1 - 25/bullseye/Dockerfile | 1 - 25/trixie-slim/Dockerfile | 1 - 25/trixie/Dockerfile | 1 - 26/bookworm-slim/Dockerfile | 1 - 26/bookworm/Dockerfile | 1 - 26/bullseye-slim/Dockerfile | 1 - 26/bullseye/Dockerfile | 1 - 26/trixie-slim/Dockerfile | 1 - 26/trixie/Dockerfile | 1 - 24 files changed, 24 deletions(-) diff --git a/22/bookworm-slim/Dockerfile b/22/bookworm-slim/Dockerfile index e173790d3..fcd5c0880 100644 --- a/22/bookworm-slim/Dockerfile +++ b/22/bookworm-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/22/bookworm/Dockerfile b/22/bookworm/Dockerfile index 236b0e2d4..2ffdaa485 100644 --- a/22/bookworm/Dockerfile +++ b/22/bookworm/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/22/bullseye-slim/Dockerfile b/22/bullseye-slim/Dockerfile index 489f7b559..862dc2223 100644 --- a/22/bullseye-slim/Dockerfile +++ b/22/bullseye-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/22/bullseye/Dockerfile b/22/bullseye/Dockerfile index e79027a70..1adf3cb47 100644 --- a/22/bullseye/Dockerfile +++ b/22/bullseye/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/22/trixie-slim/Dockerfile b/22/trixie-slim/Dockerfile index e5de6198b..597ff2674 100644 --- a/22/trixie-slim/Dockerfile +++ b/22/trixie-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/22/trixie/Dockerfile b/22/trixie/Dockerfile index 1c3c0be20..f0a985a58 100644 --- a/22/trixie/Dockerfile +++ b/22/trixie/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/24/bookworm-slim/Dockerfile b/24/bookworm-slim/Dockerfile index a4249a7c8..c76d7131a 100644 --- a/24/bookworm-slim/Dockerfile +++ b/24/bookworm-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/24/bookworm/Dockerfile b/24/bookworm/Dockerfile index bad112321..4aeaf4adb 100644 --- a/24/bookworm/Dockerfile +++ b/24/bookworm/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/24/bullseye-slim/Dockerfile b/24/bullseye-slim/Dockerfile index 5716490dc..d2c9877bf 100644 --- a/24/bullseye-slim/Dockerfile +++ b/24/bullseye-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/24/bullseye/Dockerfile b/24/bullseye/Dockerfile index fe5fbfb70..7d407f70e 100644 --- a/24/bullseye/Dockerfile +++ b/24/bullseye/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/24/trixie-slim/Dockerfile b/24/trixie-slim/Dockerfile index 328a5c365..2e2b6876d 100644 --- a/24/trixie-slim/Dockerfile +++ b/24/trixie-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/24/trixie/Dockerfile b/24/trixie/Dockerfile index c29001bd3..8c32d7249 100644 --- a/24/trixie/Dockerfile +++ b/24/trixie/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/25/bookworm-slim/Dockerfile b/25/bookworm-slim/Dockerfile index 7d3a85827..826c3938a 100644 --- a/25/bookworm-slim/Dockerfile +++ b/25/bookworm-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/25/bookworm/Dockerfile b/25/bookworm/Dockerfile index 6be31610c..ef357fe31 100644 --- a/25/bookworm/Dockerfile +++ b/25/bookworm/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/25/bullseye-slim/Dockerfile b/25/bullseye-slim/Dockerfile index de714ee16..1a5157ef3 100644 --- a/25/bullseye-slim/Dockerfile +++ b/25/bullseye-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/25/bullseye/Dockerfile b/25/bullseye/Dockerfile index 4286794d3..e5005ad91 100644 --- a/25/bullseye/Dockerfile +++ b/25/bullseye/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/25/trixie-slim/Dockerfile b/25/trixie-slim/Dockerfile index 92ba49c7e..853389cc2 100644 --- a/25/trixie-slim/Dockerfile +++ b/25/trixie-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/25/trixie/Dockerfile b/25/trixie/Dockerfile index 2225b57f8..c1daa7728 100644 --- a/25/trixie/Dockerfile +++ b/25/trixie/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/26/bookworm-slim/Dockerfile b/26/bookworm-slim/Dockerfile index 2269f11d7..00a0ed8ae 100644 --- a/26/bookworm-slim/Dockerfile +++ b/26/bookworm-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/26/bookworm/Dockerfile b/26/bookworm/Dockerfile index ed8bb77d1..abe555f6a 100644 --- a/26/bookworm/Dockerfile +++ b/26/bookworm/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/26/bullseye-slim/Dockerfile b/26/bullseye-slim/Dockerfile index e9728eef4..1b9f88d86 100644 --- a/26/bullseye-slim/Dockerfile +++ b/26/bullseye-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/26/bullseye/Dockerfile b/26/bullseye/Dockerfile index 4a8bed1d8..8d0d53e1e 100644 --- a/26/bullseye/Dockerfile +++ b/26/bullseye/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/26/trixie-slim/Dockerfile b/26/trixie-slim/Dockerfile index 5f38c472b..5b1166317 100644 --- a/26/trixie-slim/Dockerfile +++ b/26/trixie-slim/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/26/trixie/Dockerfile b/26/trixie/Dockerfile index 10e2522f4..0fe3b711f 100644 --- a/26/trixie/Dockerfile +++ b/26/trixie/Dockerfile @@ -12,7 +12,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ - i386) ARCH='x86';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 From 3f73ed915502b978168f74df201c5fb18d161721 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 8 May 2026 18:29:35 -0400 Subject: [PATCH 2/7] wip: no-op replacement of condition --- Dockerfile-alpine.template | 8 +------- update.sh | 8 ++++++++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index d4096cc08..93137238a 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -10,13 +10,7 @@ RUN addgroup -g 1000 node \ curl \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ - x86_64) ARCH='x64' CHECKSUM=CHECKSUM_x64 OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ - aarch64) OPENSSL_ARCH=linux-aarch64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ - s390x) OPENSSL_ARCH=linux-s390x;; \ - *) ;; \ + "${ALPINE_ARCH[@]}" esac \ && if [ -n "${CHECKSUM}" ]; then \ set -eu; \ diff --git a/update.sh b/update.sh index 278ed8063..c30474829 100755 --- a/update.sh +++ b/update.sh @@ -153,6 +153,14 @@ function update_node_version() { fi else sed -Ei -e "s/(alpine:)0.0/\\1${alpine_version}/" "${dockerfile}-tmp" + alpine_arch='x86_64) ARCH='"'"'x64'"'"' CHECKSUM=CHECKSUM_x64 OPENSSL_ARCH=linux-x86_64;; \\\ + x86) OPENSSL_ARCH=linux-elf;; \\\ + aarch64) OPENSSL_ARCH=linux-aarch64;; \\\ + arm*) OPENSSL_ARCH=linux-armv4;; \\\ + ppc64le) OPENSSL_ARCH=linux-ppc64le;; \\\ + s390x) OPENSSL_ARCH=linux-s390x;; \\\ + *) ;; \\' + sed -Ei -e "s/\"\\$\{ALPINE_ARCH\[@\]\}\"/${alpine_arch}/" "${dockerfile}-tmp" sed -Ei -e "s/CHECKSUM=CHECKSUM_x64/CHECKSUM=\"${checksum}\"/" "${dockerfile}-tmp" fi elif is_debian "${variant}"; then From 6ddf98efd04872fa656b82cc8e5b40b0f4557328 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 9 May 2026 12:13:31 -0400 Subject: [PATCH 3/7] wip split t individual strings --- update.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/update.sh b/update.sh index c30474829..8fc852944 100755 --- a/update.sh +++ b/update.sh @@ -153,13 +153,14 @@ function update_node_version() { fi else sed -Ei -e "s/(alpine:)0.0/\\1${alpine_version}/" "${dockerfile}-tmp" - alpine_arch='x86_64) ARCH='"'"'x64'"'"' CHECKSUM=CHECKSUM_x64 OPENSSL_ARCH=linux-x86_64;; \\\ - x86) OPENSSL_ARCH=linux-elf;; \\\ - aarch64) OPENSSL_ARCH=linux-aarch64;; \\\ - arm*) OPENSSL_ARCH=linux-armv4;; \\\ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \\\ - s390x) OPENSSL_ARCH=linux-s390x;; \\\ - *) ;; \\' + alpine_x64='x86_64) ARCH='"'"'x64'"'"' CHECKSUM=CHECKSUM_x64 OPENSSL_ARCH=linux-x86_64;; \\\n ' + alpine_x86='x86) OPENSSL_ARCH=linux-elf;; \\\n ' + alpine_aarch64='aarch64) OPENSSL_ARCH=linux-aarch64;; \\\n ' + alpine_armv4='arm*) OPENSSL_ARCH=linux-armv4;; \\\n ' + alpine_ppc64le='ppc64le) OPENSSL_ARCH=linux-ppc64le;; \\\n ' + alpine_x390='s390x) OPENSSL_ARCH=linux-s390x;; \\\n ' + alpine_other='*) ;; \\' + alpine_arch="${alpine_x64}${alpine_x86}${alpine_aarch64}${alpine_armv4}${alpine_ppc64le}${alpine_x390}${alpine_other}" sed -Ei -e "s/\"\\$\{ALPINE_ARCH\[@\]\}\"/${alpine_arch}/" "${dockerfile}-tmp" sed -Ei -e "s/CHECKSUM=CHECKSUM_x64/CHECKSUM=\"${checksum}\"/" "${dockerfile}-tmp" fi From dbd58d7346b8510270a0549f2927d0ff04e423b9 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 9 May 2026 17:43:16 -0400 Subject: [PATCH 4/7] feat: only include the architectures supported in version.json --- 22/alpine3.22/Dockerfile | 4 +--- 22/alpine3.23/Dockerfile | 4 +--- 24/alpine3.22/Dockerfile | 3 --- 24/alpine3.23/Dockerfile | 3 --- 25/alpine3.22/Dockerfile | 3 --- 25/alpine3.23/Dockerfile | 3 --- 26/alpine3.22/Dockerfile | 4 ---- 26/alpine3.23/Dockerfile | 4 ---- update.sh | 28 +++++++++++++++++++--------- 9 files changed, 21 insertions(+), 35 deletions(-) diff --git a/22/alpine3.22/Dockerfile b/22/alpine3.22/Dockerfile index 0316ad0fd..7746e91b3 100644 --- a/22/alpine3.22/Dockerfile +++ b/22/alpine3.22/Dockerfile @@ -11,10 +11,8 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="c58109c8da448196f0d811df7a6079748678132067e3b53d01c8c8a4bcd86992" OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ - aarch64) OPENSSL_ARCH=linux-aarch64;; \ arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ + aarch64) OPENSSL_ARCH=linux-aarch64;; \ s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ diff --git a/22/alpine3.23/Dockerfile b/22/alpine3.23/Dockerfile index 3fc463514..5518cc803 100644 --- a/22/alpine3.23/Dockerfile +++ b/22/alpine3.23/Dockerfile @@ -11,10 +11,8 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="c58109c8da448196f0d811df7a6079748678132067e3b53d01c8c8a4bcd86992" OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ - aarch64) OPENSSL_ARCH=linux-aarch64;; \ arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ + aarch64) OPENSSL_ARCH=linux-aarch64;; \ s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ diff --git a/24/alpine3.22/Dockerfile b/24/alpine3.22/Dockerfile index 7c9cfb546..fa37bc131 100644 --- a/24/alpine3.22/Dockerfile +++ b/24/alpine3.22/Dockerfile @@ -11,10 +11,7 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="8b75070ed35ef8381548f4396d3cf957fd1449db063f288fe00b0cb64456477f" OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ aarch64) OPENSSL_ARCH=linux-aarch64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ diff --git a/24/alpine3.23/Dockerfile b/24/alpine3.23/Dockerfile index 1d98f46d6..dd401058a 100644 --- a/24/alpine3.23/Dockerfile +++ b/24/alpine3.23/Dockerfile @@ -11,10 +11,7 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="8b75070ed35ef8381548f4396d3cf957fd1449db063f288fe00b0cb64456477f" OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ aarch64) OPENSSL_ARCH=linux-aarch64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ diff --git a/25/alpine3.22/Dockerfile b/25/alpine3.22/Dockerfile index e5bf11c3a..e69d5605f 100644 --- a/25/alpine3.22/Dockerfile +++ b/25/alpine3.22/Dockerfile @@ -11,10 +11,7 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="46dfaea08624f9cb9d439d603784b2751ab4d7700c81c26604c032a4dc4e74a1" OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ aarch64) OPENSSL_ARCH=linux-aarch64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ diff --git a/25/alpine3.23/Dockerfile b/25/alpine3.23/Dockerfile index 94090e501..b9be1f502 100644 --- a/25/alpine3.23/Dockerfile +++ b/25/alpine3.23/Dockerfile @@ -11,10 +11,7 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="46dfaea08624f9cb9d439d603784b2751ab4d7700c81c26604c032a4dc4e74a1" OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ aarch64) OPENSSL_ARCH=linux-aarch64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ diff --git a/26/alpine3.22/Dockerfile b/26/alpine3.22/Dockerfile index a17ec8f71..36a08b55f 100644 --- a/26/alpine3.22/Dockerfile +++ b/26/alpine3.22/Dockerfile @@ -11,11 +11,7 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="e89b5c628c7058673c6c3b363f8d2219e211cd37dd4cb9204b4208110d7bbe78" OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ aarch64) OPENSSL_ARCH=linux-aarch64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ - s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ && if [ -n "${CHECKSUM}" ]; then \ diff --git a/26/alpine3.23/Dockerfile b/26/alpine3.23/Dockerfile index 509eb0c39..4bd1cc27d 100644 --- a/26/alpine3.23/Dockerfile +++ b/26/alpine3.23/Dockerfile @@ -11,11 +11,7 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="e89b5c628c7058673c6c3b363f8d2219e211cd37dd4cb9204b4208110d7bbe78" OPENSSL_ARCH=linux-x86_64;; \ - x86) OPENSSL_ARCH=linux-elf;; \ aarch64) OPENSSL_ARCH=linux-aarch64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ - ppc64le) OPENSSL_ARCH=linux-ppc64le;; \ - s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ && if [ -n "${CHECKSUM}" ]; then \ diff --git a/update.sh b/update.sh index 8fc852944..770d05b64 100755 --- a/update.sh +++ b/update.sh @@ -153,16 +153,26 @@ function update_node_version() { fi else sed -Ei -e "s/(alpine:)0.0/\\1${alpine_version}/" "${dockerfile}-tmp" - alpine_x64='x86_64) ARCH='"'"'x64'"'"' CHECKSUM=CHECKSUM_x64 OPENSSL_ARCH=linux-x86_64;; \\\n ' - alpine_x86='x86) OPENSSL_ARCH=linux-elf;; \\\n ' - alpine_aarch64='aarch64) OPENSSL_ARCH=linux-aarch64;; \\\n ' - alpine_armv4='arm*) OPENSSL_ARCH=linux-armv4;; \\\n ' - alpine_ppc64le='ppc64le) OPENSSL_ARCH=linux-ppc64le;; \\\n ' - alpine_x390='s390x) OPENSSL_ARCH=linux-s390x;; \\\n ' - alpine_other='*) ;; \\' - alpine_arch="${alpine_x64}${alpine_x86}${alpine_aarch64}${alpine_armv4}${alpine_ppc64le}${alpine_x390}${alpine_other}" + + alpine_arch='' + arches=$(jq -r ".\"${version}\".variants.\"alpine${alpine_version}\" | @sh" "versions.json") + if [[ "${arches}" == *"amd64"* ]]; then + alpine_arch+='x86_64) ARCH='"'"'x64'"'"' CHECKSUM="'${checksum}'" OPENSSL_ARCH=linux-x86_64;; \\\n ' + fi + if [[ "$arches" == *"arm32"* ]]; then + alpine_arch+='arm*) OPENSSL_ARCH=linux-armv4;; \\\n ' + fi + if [[ "$arches" == *"arm64v8"* ]]; then + alpine_arch+='aarch64) OPENSSL_ARCH=linux-aarch64;; \\\n ' + fi + if [[ "$arches" == *"ppc64le"* ]]; then + alpine_arch+='ppc64le) OPENSSL_ARCH=linux-ppc64le;; \\\n ' + fi + if [[ "$arches" == *"s390x"* ]]; then + alpine_arch+='s390x) OPENSSL_ARCH=linux-s390x;; \\\n ' + fi + alpine_arch+='*) ;; \\' sed -Ei -e "s/\"\\$\{ALPINE_ARCH\[@\]\}\"/${alpine_arch}/" "${dockerfile}-tmp" - sed -Ei -e "s/CHECKSUM=CHECKSUM_x64/CHECKSUM=\"${checksum}\"/" "${dockerfile}-tmp" fi elif is_debian "${variant}"; then sed -Ei -e "s/(buildpack-deps:)name/\\1${variant}/" "${dockerfile}-tmp" From 91b2d4dd9a537d1fc9e5a7a084913b8316b783fa Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 9 May 2026 17:58:14 -0400 Subject: [PATCH 5/7] feat: only include the architectures supported in version.json --- 22/bullseye/Dockerfile | 2 -- 22/trixie/Dockerfile | 1 - 24/bookworm/Dockerfile | 1 - 24/bullseye/Dockerfile | 3 --- 24/trixie/Dockerfile | 1 - 25/bookworm/Dockerfile | 1 - 25/bullseye/Dockerfile | 3 --- 25/trixie/Dockerfile | 1 - 26/bookworm/Dockerfile | 1 - 26/bullseye/Dockerfile | 3 --- 26/trixie/Dockerfile | 1 - Dockerfile-debian.template | 7 +------ update.sh | 19 +++++++++++++++++++ 13 files changed, 20 insertions(+), 24 deletions(-) diff --git a/22/bullseye/Dockerfile b/22/bullseye/Dockerfile index 1adf3cb47..6f37f2ff0 100644 --- a/22/bullseye/Dockerfile +++ b/22/bullseye/Dockerfile @@ -8,8 +8,6 @@ ENV NODE_VERSION=22.22.2 RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ amd64) ARCH='x64';; \ - ppc64el) ARCH='ppc64le';; \ - s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ diff --git a/22/trixie/Dockerfile b/22/trixie/Dockerfile index f0a985a58..108007c3a 100644 --- a/22/trixie/Dockerfile +++ b/22/trixie/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le';; \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/24/bookworm/Dockerfile b/24/bookworm/Dockerfile index 4aeaf4adb..1b4725317 100644 --- a/24/bookworm/Dockerfile +++ b/24/bookworm/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le';; \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/24/bullseye/Dockerfile b/24/bullseye/Dockerfile index 7d407f70e..ad4ad9043 100644 --- a/24/bullseye/Dockerfile +++ b/24/bullseye/Dockerfile @@ -8,10 +8,7 @@ ENV NODE_VERSION=24.15.0 RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ amd64) ARCH='x64';; \ - ppc64el) ARCH='ppc64le';; \ - s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/24/trixie/Dockerfile b/24/trixie/Dockerfile index 8c32d7249..947160b9b 100644 --- a/24/trixie/Dockerfile +++ b/24/trixie/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le';; \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/25/bookworm/Dockerfile b/25/bookworm/Dockerfile index ef357fe31..1f45dc0de 100644 --- a/25/bookworm/Dockerfile +++ b/25/bookworm/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le';; \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/25/bullseye/Dockerfile b/25/bullseye/Dockerfile index e5005ad91..eef0ec99a 100644 --- a/25/bullseye/Dockerfile +++ b/25/bullseye/Dockerfile @@ -8,10 +8,7 @@ ENV NODE_VERSION=25.9.0 RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ amd64) ARCH='x64';; \ - ppc64el) ARCH='ppc64le';; \ - s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/25/trixie/Dockerfile b/25/trixie/Dockerfile index c1daa7728..294d1a537 100644 --- a/25/trixie/Dockerfile +++ b/25/trixie/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le';; \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/26/bookworm/Dockerfile b/26/bookworm/Dockerfile index abe555f6a..b2ce6690f 100644 --- a/26/bookworm/Dockerfile +++ b/26/bookworm/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le';; \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/26/bullseye/Dockerfile b/26/bullseye/Dockerfile index 8d0d53e1e..e05c8b702 100644 --- a/26/bullseye/Dockerfile +++ b/26/bullseye/Dockerfile @@ -8,10 +8,7 @@ ENV NODE_VERSION=26.1.0 RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ amd64) ARCH='x64';; \ - ppc64el) ARCH='ppc64le';; \ - s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/26/trixie/Dockerfile b/26/trixie/Dockerfile index 0fe3b711f..7b7f42c3c 100644 --- a/26/trixie/Dockerfile +++ b/26/trixie/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le';; \ s390x) ARCH='s390x';; \ arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index 5f00f8f08..23a503dc8 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -7,12 +7,7 @@ ENV NODE_VERSION=0.0.0 RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ - amd64) ARCH='x64';; \ - ppc64el) ARCH='ppc64le';; \ - s390x) ARCH='s390x';; \ - arm64) ARCH='arm64';; \ - armhf) ARCH='armv7l';; \ - *) echo "unsupported architecture"; exit 1 ;; \ + "${DEB_ARCH[@]}" esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 && export GNUPGHOME="$(mktemp -d)" \ diff --git a/update.sh b/update.sh index 770d05b64..07b8df99f 100755 --- a/update.sh +++ b/update.sh @@ -176,6 +176,25 @@ function update_node_version() { fi elif is_debian "${variant}"; then sed -Ei -e "s/(buildpack-deps:)name/\\1${variant}/" "${dockerfile}-tmp" + deb_arch='' + arches=$(jq -r ".\"${version}\".variants.\"${variant}\" | @sh" "versions.json") + if [[ "${arches}" == *"amd64"* ]]; then + deb_arch+='amd64) ARCH='"'"'x64'"'"';; \\\n ' + fi + if [[ "$arches" == *"ppc64le"* ]]; then + deb_arch+='ppc64el) ARCH='"'"'ppc64le'"'"';; \\\n ' + fi + if [[ "$arches" == *"s390x"* ]]; then + deb_arch+='s390x) ARCH='"'"'s390x'"'"';; \\\n ' + fi + if [[ "$arches" == *"arm64v8"* ]]; then + deb_arch+='arm64) ARCH='"'"'arm64'"'"';; \\\n ' + fi + if [[ "$arches" == *"arm32v7"* ]]; then + deb_arch+='armhf) ARCH='"'"'armv7l'"'"';; \\\n ' + fi + deb_arch+='*) echo "unsupported architecture"; exit 1 ;; \\' + sed -Ei -e "s/\"\\$\{DEB_ARCH\[@\]\}\"/${deb_arch}/" "${dockerfile}-tmp" elif is_debian_slim "${variant}"; then sed -Ei -e "s/(debian:)name-slim/\\1${variant}/" "${dockerfile}-tmp" fi From 9ecae61749d17af88fd8dc08ab13fd32633f154b Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 9 May 2026 18:29:19 -0400 Subject: [PATCH 6/7] feat: only include the architectures supported in version.json --- 22/bullseye-slim/Dockerfile | 2 -- 22/trixie-slim/Dockerfile | 1 - 24/bookworm-slim/Dockerfile | 1 - 24/bullseye-slim/Dockerfile | 3 --- 24/trixie-slim/Dockerfile | 1 - 25/bookworm-slim/Dockerfile | 1 - 25/bullseye-slim/Dockerfile | 3 --- 25/trixie-slim/Dockerfile | 1 - 26/bookworm-slim/Dockerfile | 1 - 26/bullseye-slim/Dockerfile | 3 --- 26/trixie-slim/Dockerfile | 1 - Dockerfile-slim.template | 7 +------ update.sh | 19 +++++++++++++++++++ 13 files changed, 20 insertions(+), 24 deletions(-) diff --git a/22/bullseye-slim/Dockerfile b/22/bullseye-slim/Dockerfile index 862dc2223..174c78ace 100644 --- a/22/bullseye-slim/Dockerfile +++ b/22/bullseye-slim/Dockerfile @@ -8,8 +8,6 @@ ENV NODE_VERSION=22.22.2 RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; \ - ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ - s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ diff --git a/22/trixie-slim/Dockerfile b/22/trixie-slim/Dockerfile index 597ff2674..29d15e0f0 100644 --- a/22/trixie-slim/Dockerfile +++ b/22/trixie-slim/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/24/bookworm-slim/Dockerfile b/24/bookworm-slim/Dockerfile index c76d7131a..f0260caec 100644 --- a/24/bookworm-slim/Dockerfile +++ b/24/bookworm-slim/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/24/bullseye-slim/Dockerfile b/24/bullseye-slim/Dockerfile index d2c9877bf..914bf022d 100644 --- a/24/bullseye-slim/Dockerfile +++ b/24/bullseye-slim/Dockerfile @@ -8,10 +8,7 @@ ENV NODE_VERSION=24.15.0 RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; \ - ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ - s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/24/trixie-slim/Dockerfile b/24/trixie-slim/Dockerfile index 2e2b6876d..927392fd2 100644 --- a/24/trixie-slim/Dockerfile +++ b/24/trixie-slim/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/25/bookworm-slim/Dockerfile b/25/bookworm-slim/Dockerfile index 826c3938a..dca720489 100644 --- a/25/bookworm-slim/Dockerfile +++ b/25/bookworm-slim/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/25/bullseye-slim/Dockerfile b/25/bullseye-slim/Dockerfile index 1a5157ef3..2d7b3cc21 100644 --- a/25/bullseye-slim/Dockerfile +++ b/25/bullseye-slim/Dockerfile @@ -8,10 +8,7 @@ ENV NODE_VERSION=25.9.0 RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; \ - ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ - s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/25/trixie-slim/Dockerfile b/25/trixie-slim/Dockerfile index 853389cc2..3fe3c69ed 100644 --- a/25/trixie-slim/Dockerfile +++ b/25/trixie-slim/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/26/bookworm-slim/Dockerfile b/26/bookworm-slim/Dockerfile index 00a0ed8ae..54e54614b 100644 --- a/26/bookworm-slim/Dockerfile +++ b/26/bookworm-slim/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/26/bullseye-slim/Dockerfile b/26/bullseye-slim/Dockerfile index 1b9f88d86..07bf0c5fb 100644 --- a/26/bullseye-slim/Dockerfile +++ b/26/bullseye-slim/Dockerfile @@ -8,10 +8,7 @@ ENV NODE_VERSION=26.1.0 RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; \ - ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ - s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/26/trixie-slim/Dockerfile b/26/trixie-slim/Dockerfile index 5b1166317..d511ddbc3 100644 --- a/26/trixie-slim/Dockerfile +++ b/26/trixie-slim/Dockerfile @@ -11,7 +11,6 @@ RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ *) echo "unsupported architecture"; exit 1 ;; \ esac \ && set -ex \ diff --git a/Dockerfile-slim.template b/Dockerfile-slim.template index 5a643ebde..b2d858ceb 100644 --- a/Dockerfile-slim.template +++ b/Dockerfile-slim.template @@ -7,12 +7,7 @@ ENV NODE_VERSION=0.0.0 RUN ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" \ && case "${dpkgArch##*-}" in \ - amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; \ - ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; \ - s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; \ - arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; \ - armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; \ - *) echo "unsupported architecture"; exit 1 ;; \ + "${DEB_ARCH[@]}" esac \ && set -ex \ # libatomic1 for arm diff --git a/update.sh b/update.sh index 07b8df99f..fc03e8ea6 100755 --- a/update.sh +++ b/update.sh @@ -197,6 +197,25 @@ function update_node_version() { sed -Ei -e "s/\"\\$\{DEB_ARCH\[@\]\}\"/${deb_arch}/" "${dockerfile}-tmp" elif is_debian_slim "${variant}"; then sed -Ei -e "s/(debian:)name-slim/\\1${variant}/" "${dockerfile}-tmp" + deb_arch='' + arches=$(jq -r ".\"${version}\".variants.\"${variant}\" | @sh" "versions.json") + if [[ "${arches}" == *"amd64"* ]]; then + deb_arch+='amd64) ARCH='"'"'x64'"'"' OPENSSL_ARCH='"'"'linux-x86_64'"'"';; \\\n ' + fi + if [[ "$arches" == *"ppc64le"* ]]; then + deb_arch+='ppc64el) ARCH='"'"'ppc64le'"'"' OPENSSL_ARCH='"'"'linux-ppc64le'"'"';; \\\n ' + fi + if [[ "$arches" == *"s390x"* ]]; then + deb_arch+='s390x) ARCH='"'"'s390x'"'"' OPENSSL_ARCH='"'"'linux*-s390x'"'"';; \\\n ' + fi + if [[ "$arches" == *"arm64v8"* ]]; then + deb_arch+='arm64) ARCH='"'"'arm64'"'"' OPENSSL_ARCH='"'"'linux-aarch64'"'"';; \\\n ' + fi + if [[ "$arches" == *"arm32v7"* ]]; then + deb_arch+='armhf) ARCH='"'"'armv7l'"'"' OPENSSL_ARCH='"'"'linux-armv4'"'"';; \\\n ' + fi + deb_arch+='*) echo "unsupported architecture"; exit 1 ;; \\' + sed -Ei -e "s/\"\\$\{DEB_ARCH\[@\]\}\"/${deb_arch}/" "${dockerfile}-tmp" fi # Strip out Yarn v1 from Node 26+ images https://github.com/nodejs/docker-node/issues/2407 From aded288de08faf2ffd6d078a286a4f540cc41e00 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 9 May 2026 18:52:07 -0400 Subject: [PATCH 7/7] fix: Alpine arm order --- 22/alpine3.22/Dockerfile | 2 +- 22/alpine3.23/Dockerfile | 2 +- update.sh | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/22/alpine3.22/Dockerfile b/22/alpine3.22/Dockerfile index 7746e91b3..f6cddab27 100644 --- a/22/alpine3.22/Dockerfile +++ b/22/alpine3.22/Dockerfile @@ -11,8 +11,8 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="c58109c8da448196f0d811df7a6079748678132067e3b53d01c8c8a4bcd86992" OPENSSL_ARCH=linux-x86_64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ aarch64) OPENSSL_ARCH=linux-aarch64;; \ + arm*) OPENSSL_ARCH=linux-armv4;; \ s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ diff --git a/22/alpine3.23/Dockerfile b/22/alpine3.23/Dockerfile index 5518cc803..0a8a2ca86 100644 --- a/22/alpine3.23/Dockerfile +++ b/22/alpine3.23/Dockerfile @@ -11,8 +11,8 @@ RUN addgroup -g 1000 node \ && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" \ && case "${alpineArch##*-}" in \ x86_64) ARCH='x64' CHECKSUM="c58109c8da448196f0d811df7a6079748678132067e3b53d01c8c8a4bcd86992" OPENSSL_ARCH=linux-x86_64;; \ - arm*) OPENSSL_ARCH=linux-armv4;; \ aarch64) OPENSSL_ARCH=linux-aarch64;; \ + arm*) OPENSSL_ARCH=linux-armv4;; \ s390x) OPENSSL_ARCH=linux-s390x;; \ *) ;; \ esac \ diff --git a/update.sh b/update.sh index fc03e8ea6..5f2ab16be 100755 --- a/update.sh +++ b/update.sh @@ -159,12 +159,12 @@ function update_node_version() { if [[ "${arches}" == *"amd64"* ]]; then alpine_arch+='x86_64) ARCH='"'"'x64'"'"' CHECKSUM="'${checksum}'" OPENSSL_ARCH=linux-x86_64;; \\\n ' fi - if [[ "$arches" == *"arm32"* ]]; then - alpine_arch+='arm*) OPENSSL_ARCH=linux-armv4;; \\\n ' - fi if [[ "$arches" == *"arm64v8"* ]]; then alpine_arch+='aarch64) OPENSSL_ARCH=linux-aarch64;; \\\n ' fi + if [[ "$arches" == *"arm32"* ]]; then + alpine_arch+='arm*) OPENSSL_ARCH=linux-armv4;; \\\n ' + fi if [[ "$arches" == *"ppc64le"* ]]; then alpine_arch+='ppc64le) OPENSSL_ARCH=linux-ppc64le;; \\\n ' fi