diff --git a/3.10/alpine3.21/Dockerfile b/3.10/alpine3.23/Dockerfile similarity index 94% rename from 3.10/alpine3.21/Dockerfile rename to 3.10/alpine3.23/Dockerfile index 276fd33fa..79b0e3ec2 100644 --- a/3.10/alpine3.21/Dockerfile +++ b/3.10/alpine3.23/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.21 +FROM alpine:3.23 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -22,8 +22,8 @@ RUN set -eux; \ ; ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.10.19 -ENV PYTHON_SHA256 c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076 +ENV PYTHON_VERSION 3.10.20 +ENV PYTHON_SHA256 de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505 RUN set -eux; \ \ @@ -82,7 +82,7 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -92,7 +92,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.10/alpine3.22/Dockerfile b/3.10/alpine3.24/Dockerfile similarity index 94% rename from 3.10/alpine3.22/Dockerfile rename to 3.10/alpine3.24/Dockerfile index 9d8817fb7..c124d2671 100644 --- a/3.10/alpine3.22/Dockerfile +++ b/3.10/alpine3.24/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.22 +FROM alpine:3.24 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -22,8 +22,8 @@ RUN set -eux; \ ; ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.10.19 -ENV PYTHON_SHA256 c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076 +ENV PYTHON_VERSION 3.10.20 +ENV PYTHON_SHA256 de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505 RUN set -eux; \ \ @@ -82,7 +82,7 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -92,7 +92,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.10/bookworm/Dockerfile b/3.10/bookworm/Dockerfile index 5d4e0db90..63792f437 100644 --- a/3.10/bookworm/Dockerfile +++ b/3.10/bookworm/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.10.19 -ENV PYTHON_SHA256 c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076 +ENV PYTHON_VERSION 3.10.20 +ENV PYTHON_SHA256 de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505 RUN set -eux; \ \ @@ -65,7 +65,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.10/slim-bookworm/Dockerfile b/3.10/slim-bookworm/Dockerfile index 9fac25174..bd2968c14 100644 --- a/3.10/slim-bookworm/Dockerfile +++ b/3.10/slim-bookworm/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.10.19 -ENV PYTHON_SHA256 c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076 +ENV PYTHON_VERSION 3.10.20 +ENV PYTHON_SHA256 de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505 RUN set -eux; \ \ @@ -81,7 +81,7 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -91,7 +91,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.10/slim-trixie/Dockerfile b/3.10/slim-trixie/Dockerfile index 9c27605a7..f4c7fbb07 100644 --- a/3.10/slim-trixie/Dockerfile +++ b/3.10/slim-trixie/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ apt-get dist-clean ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.10.19 -ENV PYTHON_SHA256 c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076 +ENV PYTHON_VERSION 3.10.20 +ENV PYTHON_SHA256 de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505 RUN set -eux; \ \ @@ -81,7 +81,7 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -91,7 +91,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.10/trixie/Dockerfile b/3.10/trixie/Dockerfile index a0b09dab9..edb9616d9 100644 --- a/3.10/trixie/Dockerfile +++ b/3.10/trixie/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ apt-get dist-clean ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.10.19 -ENV PYTHON_SHA256 c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076 +ENV PYTHON_VERSION 3.10.20 +ENV PYTHON_SHA256 de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505 RUN set -eux; \ \ @@ -65,7 +65,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.11/alpine3.21/Dockerfile b/3.11/alpine3.23/Dockerfile similarity index 94% rename from 3.11/alpine3.21/Dockerfile rename to 3.11/alpine3.23/Dockerfile index 4192f0960..9a4d0c7ad 100644 --- a/3.11/alpine3.21/Dockerfile +++ b/3.11/alpine3.23/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.21 +FROM alpine:3.23 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -22,8 +22,8 @@ RUN set -eux; \ ; ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.11.14 -ENV PYTHON_SHA256 8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78 +ENV PYTHON_VERSION 3.11.15 +ENV PYTHON_SHA256 272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625 RUN set -eux; \ \ @@ -82,7 +82,7 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -92,7 +92,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.11/alpine3.22/Dockerfile b/3.11/alpine3.24/Dockerfile similarity index 94% rename from 3.11/alpine3.22/Dockerfile rename to 3.11/alpine3.24/Dockerfile index a88b9e328..2242114ab 100644 --- a/3.11/alpine3.22/Dockerfile +++ b/3.11/alpine3.24/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.22 +FROM alpine:3.24 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -22,8 +22,8 @@ RUN set -eux; \ ; ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.11.14 -ENV PYTHON_SHA256 8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78 +ENV PYTHON_VERSION 3.11.15 +ENV PYTHON_SHA256 272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625 RUN set -eux; \ \ @@ -82,7 +82,7 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -92,7 +92,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.11/bookworm/Dockerfile b/3.11/bookworm/Dockerfile index 6b9158d70..2968b791e 100644 --- a/3.11/bookworm/Dockerfile +++ b/3.11/bookworm/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.11.14 -ENV PYTHON_SHA256 8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78 +ENV PYTHON_VERSION 3.11.15 +ENV PYTHON_SHA256 272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625 RUN set -eux; \ \ @@ -65,7 +65,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.11/slim-bookworm/Dockerfile b/3.11/slim-bookworm/Dockerfile index 9137579df..db4b9d00b 100644 --- a/3.11/slim-bookworm/Dockerfile +++ b/3.11/slim-bookworm/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.11.14 -ENV PYTHON_SHA256 8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78 +ENV PYTHON_VERSION 3.11.15 +ENV PYTHON_SHA256 272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625 RUN set -eux; \ \ @@ -81,7 +81,7 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -91,7 +91,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.11/slim-trixie/Dockerfile b/3.11/slim-trixie/Dockerfile index 43add477a..2a24cfdf4 100644 --- a/3.11/slim-trixie/Dockerfile +++ b/3.11/slim-trixie/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ apt-get dist-clean ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.11.14 -ENV PYTHON_SHA256 8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78 +ENV PYTHON_VERSION 3.11.15 +ENV PYTHON_SHA256 272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625 RUN set -eux; \ \ @@ -81,7 +81,7 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -91,7 +91,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.11/trixie/Dockerfile b/3.11/trixie/Dockerfile index 4daf9651d..efd749b62 100644 --- a/3.11/trixie/Dockerfile +++ b/3.11/trixie/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ apt-get dist-clean ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D -ENV PYTHON_VERSION 3.11.14 -ENV PYTHON_SHA256 8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78 +ENV PYTHON_VERSION 3.11.15 +ENV PYTHON_SHA256 272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625 RUN set -eux; \ \ @@ -65,7 +65,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.12/alpine3.21/Dockerfile b/3.12/alpine3.23/Dockerfile similarity index 80% rename from 3.12/alpine3.21/Dockerfile rename to 3.12/alpine3.23/Dockerfile index f5ed1422c..91342ac4d 100644 --- a/3.12/alpine3.21/Dockerfile +++ b/3.12/alpine3.23/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.21 +FROM alpine:3.23 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -22,8 +22,8 @@ RUN set -eux; \ ; ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.12.12 -ENV PYTHON_SHA256 fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4 +ENV PYTHON_VERSION 3.12.13 +ENV PYTHON_SHA256 c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684 RUN set -eux; \ \ @@ -82,25 +82,25 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(apk --print-arch)"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(apk --print-arch)"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - x86_64|aarch64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - x86) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + x86_64|aarch64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + x86) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -110,7 +110,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.12/alpine3.22/Dockerfile b/3.12/alpine3.24/Dockerfile similarity index 80% rename from 3.12/alpine3.22/Dockerfile rename to 3.12/alpine3.24/Dockerfile index 3d5f9a26d..0cc30e764 100644 --- a/3.12/alpine3.22/Dockerfile +++ b/3.12/alpine3.24/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.22 +FROM alpine:3.24 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -22,8 +22,8 @@ RUN set -eux; \ ; ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.12.12 -ENV PYTHON_SHA256 fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4 +ENV PYTHON_VERSION 3.12.13 +ENV PYTHON_SHA256 c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684 RUN set -eux; \ \ @@ -82,25 +82,25 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(apk --print-arch)"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(apk --print-arch)"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - x86_64|aarch64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - x86) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + x86_64|aarch64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + x86) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -110,7 +110,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.12/bookworm/Dockerfile b/3.12/bookworm/Dockerfile index 5f51a938b..e84b5f8af 100644 --- a/3.12/bookworm/Dockerfile +++ b/3.12/bookworm/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.12.12 -ENV PYTHON_SHA256 fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4 +ENV PYTHON_VERSION 3.12.13 +ENV PYTHON_SHA256 c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684 RUN set -eux; \ \ @@ -56,24 +56,24 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -83,7 +83,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.12/slim-bookworm/Dockerfile b/3.12/slim-bookworm/Dockerfile index 28ea81d7e..7039a72d5 100644 --- a/3.12/slim-bookworm/Dockerfile +++ b/3.12/slim-bookworm/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.12.12 -ENV PYTHON_SHA256 fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4 +ENV PYTHON_VERSION 3.12.13 +ENV PYTHON_SHA256 c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684 RUN set -eux; \ \ @@ -81,25 +81,25 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -109,7 +109,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.12/slim-trixie/Dockerfile b/3.12/slim-trixie/Dockerfile index f473b4619..e9c8ec000 100644 --- a/3.12/slim-trixie/Dockerfile +++ b/3.12/slim-trixie/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ apt-get dist-clean ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.12.12 -ENV PYTHON_SHA256 fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4 +ENV PYTHON_VERSION 3.12.13 +ENV PYTHON_SHA256 c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684 RUN set -eux; \ \ @@ -81,25 +81,25 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -109,7 +109,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.12/trixie/Dockerfile b/3.12/trixie/Dockerfile index c384b1a45..683a96eb4 100644 --- a/3.12/trixie/Dockerfile +++ b/3.12/trixie/Dockerfile @@ -25,8 +25,8 @@ RUN set -eux; \ apt-get dist-clean ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.12.12 -ENV PYTHON_SHA256 fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4 +ENV PYTHON_VERSION 3.12.13 +ENV PYTHON_SHA256 c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684 RUN set -eux; \ \ @@ -56,24 +56,24 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -83,7 +83,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.13/alpine3.21/Dockerfile b/3.13/alpine3.23/Dockerfile similarity index 79% rename from 3.13/alpine3.21/Dockerfile rename to 3.13/alpine3.23/Dockerfile index 0da00a21b..d33ca3cff 100644 --- a/3.13/alpine3.21/Dockerfile +++ b/3.13/alpine3.23/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.21 +FROM alpine:3.23 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -17,8 +17,8 @@ RUN set -eux; \ ; ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.13.9 -ENV PYTHON_SHA256 ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66 +ENV PYTHON_VERSION 3.13.14 +ENV PYTHON_SHA256 639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690 RUN set -eux; \ \ @@ -77,25 +77,25 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(apk --print-arch)"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(apk --print-arch)"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - x86_64|aarch64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - x86) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + x86_64|aarch64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + x86) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -105,7 +105,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.13/alpine3.22/Dockerfile b/3.13/alpine3.24/Dockerfile similarity index 79% rename from 3.13/alpine3.22/Dockerfile rename to 3.13/alpine3.24/Dockerfile index 686d76b83..33e8613b5 100644 --- a/3.13/alpine3.22/Dockerfile +++ b/3.13/alpine3.24/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.22 +FROM alpine:3.24 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -17,8 +17,8 @@ RUN set -eux; \ ; ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.13.9 -ENV PYTHON_SHA256 ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66 +ENV PYTHON_VERSION 3.13.14 +ENV PYTHON_SHA256 639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690 RUN set -eux; \ \ @@ -77,25 +77,25 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(apk --print-arch)"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(apk --print-arch)"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - x86_64|aarch64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - x86) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + x86_64|aarch64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + x86) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -105,7 +105,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.13/bookworm/Dockerfile b/3.13/bookworm/Dockerfile index 4c7bfd25b..ecb8c0bdd 100644 --- a/3.13/bookworm/Dockerfile +++ b/3.13/bookworm/Dockerfile @@ -20,8 +20,8 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.13.9 -ENV PYTHON_SHA256 ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66 +ENV PYTHON_VERSION 3.13.14 +ENV PYTHON_SHA256 639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690 RUN set -eux; \ \ @@ -51,24 +51,24 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -78,7 +78,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.13/slim-bookworm/Dockerfile b/3.13/slim-bookworm/Dockerfile index d3f2f8e87..e6eedf918 100644 --- a/3.13/slim-bookworm/Dockerfile +++ b/3.13/slim-bookworm/Dockerfile @@ -20,8 +20,8 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.13.9 -ENV PYTHON_SHA256 ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66 +ENV PYTHON_VERSION 3.13.14 +ENV PYTHON_SHA256 639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690 RUN set -eux; \ \ @@ -76,25 +76,25 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -104,7 +104,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.13/slim-trixie/Dockerfile b/3.13/slim-trixie/Dockerfile index e3fe308be..569efcb9a 100644 --- a/3.13/slim-trixie/Dockerfile +++ b/3.13/slim-trixie/Dockerfile @@ -20,8 +20,8 @@ RUN set -eux; \ apt-get dist-clean ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.13.9 -ENV PYTHON_SHA256 ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66 +ENV PYTHON_VERSION 3.13.14 +ENV PYTHON_SHA256 639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690 RUN set -eux; \ \ @@ -76,25 +76,25 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -104,7 +104,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.13/trixie/Dockerfile b/3.13/trixie/Dockerfile index 8fc726c70..ad7bb977b 100644 --- a/3.13/trixie/Dockerfile +++ b/3.13/trixie/Dockerfile @@ -20,8 +20,8 @@ RUN set -eux; \ apt-get dist-clean ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305 -ENV PYTHON_VERSION 3.13.9 -ENV PYTHON_SHA256 ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66 +ENV PYTHON_VERSION 3.13.14 +ENV PYTHON_SHA256 639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690 RUN set -eux; \ \ @@ -51,24 +51,24 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -78,7 +78,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.13/windows/windowsservercore-ltsc2022/Dockerfile b/3.13/windows/windowsservercore-ltsc2022/Dockerfile index 16345ede9..c3ca5b1e6 100644 --- a/3.13/windows/windowsservercore-ltsc2022/Dockerfile +++ b/3.13/windows/windowsservercore-ltsc2022/Dockerfile @@ -11,8 +11,8 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref # https://github.com/docker-library/python/pull/557 ENV PYTHONIOENCODING UTF-8 -ENV PYTHON_VERSION 3.13.9 -ENV PYTHON_SHA256 200ddff856bbff949d2cc1be42e8807c07538abd6b6966d5113a094cf628c5c5 +ENV PYTHON_VERSION 3.13.14 +ENV PYTHON_SHA256 c54d9b9bbb8a36e6489363ddd01139707fd781d72f1f9e90c7ec65d0061368e0 RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($env:PYTHON_VERSION -replace '[a-z]+[0-9]*$', ''), $env:PYTHON_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ diff --git a/3.13/windows/windowsservercore-ltsc2025/Dockerfile b/3.13/windows/windowsservercore-ltsc2025/Dockerfile index d212b8529..fc69661cc 100644 --- a/3.13/windows/windowsservercore-ltsc2025/Dockerfile +++ b/3.13/windows/windowsservercore-ltsc2025/Dockerfile @@ -11,8 +11,8 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref # https://github.com/docker-library/python/pull/557 ENV PYTHONIOENCODING UTF-8 -ENV PYTHON_VERSION 3.13.9 -ENV PYTHON_SHA256 200ddff856bbff949d2cc1be42e8807c07538abd6b6966d5113a094cf628c5c5 +ENV PYTHON_VERSION 3.13.14 +ENV PYTHON_SHA256 c54d9b9bbb8a36e6489363ddd01139707fd781d72f1f9e90c7ec65d0061368e0 RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($env:PYTHON_VERSION -replace '[a-z]+[0-9]*$', ''), $env:PYTHON_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ diff --git a/3.14/alpine3.21/Dockerfile b/3.14/alpine3.23/Dockerfile similarity index 77% rename from 3.14/alpine3.21/Dockerfile rename to 3.14/alpine3.23/Dockerfile index c3788113a..581312461 100644 --- a/3.14/alpine3.21/Dockerfile +++ b/3.14/alpine3.23/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.21 +FROM alpine:3.23 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -16,8 +16,8 @@ RUN set -eux; \ tzdata \ ; -ENV PYTHON_VERSION 3.14.0 -ENV PYTHON_SHA256 2299dae542d395ce3883aca00d3c910307cd68e0b2f7336098c8e7b7eee9f3e9 +ENV PYTHON_VERSION 3.14.6 +ENV PYTHON_SHA256 143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63 RUN set -eux; \ \ @@ -71,25 +71,25 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(apk --print-arch)"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(apk --print-arch)"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - x86_64|aarch64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - x86) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + x86_64|aarch64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + x86) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -99,7 +99,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.14/alpine3.22/Dockerfile b/3.14/alpine3.24/Dockerfile similarity index 77% rename from 3.14/alpine3.22/Dockerfile rename to 3.14/alpine3.24/Dockerfile index 86ea2ccc6..3002c9b24 100644 --- a/3.14/alpine3.22/Dockerfile +++ b/3.14/alpine3.24/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.22 +FROM alpine:3.24 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -16,8 +16,8 @@ RUN set -eux; \ tzdata \ ; -ENV PYTHON_VERSION 3.14.0 -ENV PYTHON_SHA256 2299dae542d395ce3883aca00d3c910307cd68e0b2f7336098c8e7b7eee9f3e9 +ENV PYTHON_VERSION 3.14.6 +ENV PYTHON_SHA256 143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63 RUN set -eux; \ \ @@ -71,25 +71,25 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(apk --print-arch)"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(apk --print-arch)"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - x86_64|aarch64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - x86) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + x86_64|aarch64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + x86) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -99,7 +99,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.14/bookworm/Dockerfile b/3.14/bookworm/Dockerfile index f802ef786..9d7e3216d 100644 --- a/3.14/bookworm/Dockerfile +++ b/3.14/bookworm/Dockerfile @@ -19,8 +19,8 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -ENV PYTHON_VERSION 3.14.0 -ENV PYTHON_SHA256 2299dae542d395ce3883aca00d3c910307cd68e0b2f7336098c8e7b7eee9f3e9 +ENV PYTHON_VERSION 3.14.6 +ENV PYTHON_SHA256 143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63 RUN set -eux; \ \ @@ -50,24 +50,24 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -77,7 +77,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.14/slim-bookworm/Dockerfile b/3.14/slim-bookworm/Dockerfile index efc7d3a65..e48f6fe70 100644 --- a/3.14/slim-bookworm/Dockerfile +++ b/3.14/slim-bookworm/Dockerfile @@ -19,8 +19,8 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -ENV PYTHON_VERSION 3.14.0 -ENV PYTHON_SHA256 2299dae542d395ce3883aca00d3c910307cd68e0b2f7336098c8e7b7eee9f3e9 +ENV PYTHON_VERSION 3.14.6 +ENV PYTHON_SHA256 143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63 RUN set -eux; \ \ @@ -70,25 +70,25 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -98,7 +98,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.14/slim-trixie/Dockerfile b/3.14/slim-trixie/Dockerfile index 1abf7739d..1784e1880 100644 --- a/3.14/slim-trixie/Dockerfile +++ b/3.14/slim-trixie/Dockerfile @@ -19,8 +19,8 @@ RUN set -eux; \ ; \ apt-get dist-clean -ENV PYTHON_VERSION 3.14.0 -ENV PYTHON_SHA256 2299dae542d395ce3883aca00d3c910307cd68e0b2f7336098c8e7b7eee9f3e9 +ENV PYTHON_VERSION 3.14.6 +ENV PYTHON_SHA256 143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63 RUN set -eux; \ \ @@ -70,25 +70,25 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -98,7 +98,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.14/trixie/Dockerfile b/3.14/trixie/Dockerfile index 7aa50e8b8..0f7714626 100644 --- a/3.14/trixie/Dockerfile +++ b/3.14/trixie/Dockerfile @@ -19,8 +19,8 @@ RUN set -eux; \ ; \ apt-get dist-clean -ENV PYTHON_VERSION 3.14.0 -ENV PYTHON_SHA256 2299dae542d395ce3883aca00d3c910307cd68e0b2f7336098c8e7b7eee9f3e9 +ENV PYTHON_VERSION 3.14.6 +ENV PYTHON_SHA256 143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63 RUN set -eux; \ \ @@ -50,24 +50,24 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -77,7 +77,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.14/windows/windowsservercore-ltsc2022/Dockerfile b/3.14/windows/windowsservercore-ltsc2022/Dockerfile index 29956d22d..225b15840 100644 --- a/3.14/windows/windowsservercore-ltsc2022/Dockerfile +++ b/3.14/windows/windowsservercore-ltsc2022/Dockerfile @@ -11,8 +11,8 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref # https://github.com/docker-library/python/pull/557 ENV PYTHONIOENCODING UTF-8 -ENV PYTHON_VERSION 3.14.0 -ENV PYTHON_SHA256 52ceb249f65009d936e6504f97cce42870c11358cb6e48825e893f54e11620aa +ENV PYTHON_VERSION 3.14.6 +ENV PYTHON_SHA256 14b3e9a710a3fcf0bd9b55ab6b60412bd91227563f813fc49040cabc0209e0bd RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($env:PYTHON_VERSION -replace '[a-z]+[0-9]*$', ''), $env:PYTHON_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ diff --git a/3.14/windows/windowsservercore-ltsc2025/Dockerfile b/3.14/windows/windowsservercore-ltsc2025/Dockerfile index fc99fa29b..d66415097 100644 --- a/3.14/windows/windowsservercore-ltsc2025/Dockerfile +++ b/3.14/windows/windowsservercore-ltsc2025/Dockerfile @@ -11,8 +11,8 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref # https://github.com/docker-library/python/pull/557 ENV PYTHONIOENCODING UTF-8 -ENV PYTHON_VERSION 3.14.0 -ENV PYTHON_SHA256 52ceb249f65009d936e6504f97cce42870c11358cb6e48825e893f54e11620aa +ENV PYTHON_VERSION 3.14.6 +ENV PYTHON_SHA256 14b3e9a710a3fcf0bd9b55ab6b60412bd91227563f813fc49040cabc0209e0bd RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($env:PYTHON_VERSION -replace '[a-z]+[0-9]*$', ''), $env:PYTHON_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ diff --git a/3.15-rc/alpine3.21/Dockerfile b/3.15-rc/alpine3.23/Dockerfile similarity index 77% rename from 3.15-rc/alpine3.21/Dockerfile rename to 3.15-rc/alpine3.23/Dockerfile index 3348b3b02..75350b418 100644 --- a/3.15-rc/alpine3.21/Dockerfile +++ b/3.15-rc/alpine3.23/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.21 +FROM alpine:3.23 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -16,8 +16,8 @@ RUN set -eux; \ tzdata \ ; -ENV PYTHON_VERSION 3.15.0a1 -ENV PYTHON_SHA256 3194939d488eeaeefdcf990d35542d9ad1ce788789c4e2305a2060eb7058e5a4 +ENV PYTHON_VERSION 3.15.0b3 +ENV PYTHON_SHA256 6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127 RUN set -eux; \ \ @@ -71,25 +71,25 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(apk --print-arch)"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(apk --print-arch)"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - x86_64|aarch64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - x86) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + x86_64|aarch64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + x86) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -99,7 +99,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.15-rc/alpine3.22/Dockerfile b/3.15-rc/alpine3.24/Dockerfile similarity index 77% rename from 3.15-rc/alpine3.22/Dockerfile rename to 3.15-rc/alpine3.24/Dockerfile index ef2eeb252..659871464 100644 --- a/3.15-rc/alpine3.22/Dockerfile +++ b/3.15-rc/alpine3.24/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.22 +FROM alpine:3.24 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -16,8 +16,8 @@ RUN set -eux; \ tzdata \ ; -ENV PYTHON_VERSION 3.15.0a1 -ENV PYTHON_SHA256 3194939d488eeaeefdcf990d35542d9ad1ce788789c4e2305a2060eb7058e5a4 +ENV PYTHON_VERSION 3.15.0b3 +ENV PYTHON_SHA256 6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127 RUN set -eux; \ \ @@ -71,25 +71,25 @@ RUN set -eux; \ # set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() # https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(apk --print-arch)"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(apk --print-arch)"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - x86_64|aarch64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - x86) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + x86_64|aarch64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + x86) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -99,7 +99,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.15-rc/bookworm/Dockerfile b/3.15-rc/bookworm/Dockerfile index 857dc42b2..17fd89898 100644 --- a/3.15-rc/bookworm/Dockerfile +++ b/3.15-rc/bookworm/Dockerfile @@ -19,8 +19,8 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -ENV PYTHON_VERSION 3.15.0a1 -ENV PYTHON_SHA256 3194939d488eeaeefdcf990d35542d9ad1ce788789c4e2305a2060eb7058e5a4 +ENV PYTHON_VERSION 3.15.0b3 +ENV PYTHON_SHA256 6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127 RUN set -eux; \ \ @@ -50,24 +50,24 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -77,7 +77,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.15-rc/slim-bookworm/Dockerfile b/3.15-rc/slim-bookworm/Dockerfile index 5f9e76b44..ecc0293d3 100644 --- a/3.15-rc/slim-bookworm/Dockerfile +++ b/3.15-rc/slim-bookworm/Dockerfile @@ -19,8 +19,8 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -ENV PYTHON_VERSION 3.15.0a1 -ENV PYTHON_SHA256 3194939d488eeaeefdcf990d35542d9ad1ce788789c4e2305a2060eb7058e5a4 +ENV PYTHON_VERSION 3.15.0b3 +ENV PYTHON_SHA256 6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127 RUN set -eux; \ \ @@ -70,25 +70,25 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -98,7 +98,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.15-rc/slim-trixie/Dockerfile b/3.15-rc/slim-trixie/Dockerfile index 75f9eb810..caa156e38 100644 --- a/3.15-rc/slim-trixie/Dockerfile +++ b/3.15-rc/slim-trixie/Dockerfile @@ -19,8 +19,8 @@ RUN set -eux; \ ; \ apt-get dist-clean -ENV PYTHON_VERSION 3.15.0a1 -ENV PYTHON_SHA256 3194939d488eeaeefdcf990d35542d9ad1ce788789c4e2305a2060eb7058e5a4 +ENV PYTHON_VERSION 3.15.0b3 +ENV PYTHON_SHA256 6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127 RUN set -eux; \ \ @@ -70,25 +70,25 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -98,7 +98,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.15-rc/trixie/Dockerfile b/3.15-rc/trixie/Dockerfile index f08c12d91..b521d11be 100644 --- a/3.15-rc/trixie/Dockerfile +++ b/3.15-rc/trixie/Dockerfile @@ -19,8 +19,8 @@ RUN set -eux; \ ; \ apt-get dist-clean -ENV PYTHON_VERSION 3.15.0a1 -ENV PYTHON_SHA256 3194939d488eeaeefdcf990d35542d9ad1ce788789c4e2305a2060eb7058e5a4 +ENV PYTHON_VERSION 3.15.0b3 +ENV PYTHON_SHA256 6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127 RUN set -eux; \ \ @@ -50,24 +50,24 @@ RUN set -eux; \ nproc="$(nproc)"; \ EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ - amd64|arm64) \ - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ - i386) \ - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + case "$arch" in \ + amd64|arm64) \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ + i386) \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ "LDFLAGS=${LDFLAGS:-}" \ @@ -77,7 +77,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/3.15-rc/windows/windowsservercore-ltsc2022/Dockerfile b/3.15-rc/windows/windowsservercore-ltsc2022/Dockerfile index da05a9c20..5601c4c52 100644 --- a/3.15-rc/windows/windowsservercore-ltsc2022/Dockerfile +++ b/3.15-rc/windows/windowsservercore-ltsc2022/Dockerfile @@ -11,8 +11,8 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref # https://github.com/docker-library/python/pull/557 ENV PYTHONIOENCODING UTF-8 -ENV PYTHON_VERSION 3.15.0a1 -ENV PYTHON_SHA256 376a4b54b3b6fd5b0614b5c0d5a5a3d75b89861102e2f3d6166b2bf5c6d925bb +ENV PYTHON_VERSION 3.15.0b3 +ENV PYTHON_SHA256 8002dbdf7277964a3c50f5deef090dfcd0769647a35aec97999f63d5f2903d38 RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($env:PYTHON_VERSION -replace '[a-z]+[0-9]*$', ''), $env:PYTHON_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ diff --git a/3.15-rc/windows/windowsservercore-ltsc2025/Dockerfile b/3.15-rc/windows/windowsservercore-ltsc2025/Dockerfile index 9424923b3..9ee5180ad 100644 --- a/3.15-rc/windows/windowsservercore-ltsc2025/Dockerfile +++ b/3.15-rc/windows/windowsservercore-ltsc2025/Dockerfile @@ -11,8 +11,8 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref # https://github.com/docker-library/python/pull/557 ENV PYTHONIOENCODING UTF-8 -ENV PYTHON_VERSION 3.15.0a1 -ENV PYTHON_SHA256 376a4b54b3b6fd5b0614b5c0d5a5a3d75b89861102e2f3d6166b2bf5c6d925bb +ENV PYTHON_VERSION 3.15.0b3 +ENV PYTHON_SHA256 8002dbdf7277964a3c50f5deef090dfcd0769647a35aec97999f63d5f2903d38 RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($env:PYTHON_VERSION -replace '[a-z]+[0-9]*$', ''), $env:PYTHON_VERSION); \ Write-Host ('Downloading {0} ...' -f $url); \ diff --git a/3.9/alpine3.21/Dockerfile b/3.9/alpine3.21/Dockerfile deleted file mode 100644 index 397b93bcf..000000000 --- a/3.9/alpine3.21/Dockerfile +++ /dev/null @@ -1,139 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.21 - -# ensure local python is preferred over distribution python -ENV PATH /usr/local/bin:$PATH - -# cannot remove LANG even though https://bugs.python.org/issue19846 is fixed -# last attempted removal of LANG broke many users: -# https://github.com/docker-library/python/pull/570 -ENV LANG C.UTF-8 - -# runtime dependencies -RUN set -eux; \ - apk add --no-cache \ - ca-certificates \ - tzdata \ - ; - -ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568 -ENV PYTHON_VERSION 3.9.24 -ENV PYTHON_SHA256 668391afabd5083faafa4543753d190f82f33ce6ba22d6e9ac728b43644b278a - -RUN set -eux; \ - \ - apk add --no-cache --virtual .build-deps \ - bluez-dev \ - bzip2-dev \ - dpkg-dev dpkg \ - findutils \ - gcc \ - gdbm-dev \ - gnupg \ - libc-dev \ - libffi-dev \ - libnsl-dev \ - libtirpc-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl-dev \ - pax-utils \ - readline-dev \ - sqlite-dev \ - tar \ - tcl-dev \ - tk \ - tk-dev \ - util-linux-dev \ - xz \ - xz-dev \ - zlib-dev \ - ; \ - \ - wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; \ - echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; \ - wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; \ - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ - gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; \ - gpg --batch --verify python.tar.xz.asc python.tar.xz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" python.tar.xz.asc; \ - mkdir -p /usr/src/python; \ - tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \ - rm python.tar.xz; \ - \ - cd /usr/src/python; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --enable-loadable-sqlite-extensions \ - --enable-option-checking=fatal \ - --enable-shared \ - --with-ensurepip \ - ; \ - nproc="$(nproc)"; \ -# set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() -# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 - EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:-}" \ - ; \ -# https://github.com/docker-library/python/issues/784 -# prevent accidental usage of a system installed libpython of the same version - rm python; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ - python \ - ; \ - make install; \ - \ - cd /; \ - rm -rf /usr/src/python; \ - \ - find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \ - -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \ - \) -exec rm -rf '{}' + \ - ; \ - \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - | xargs -rt apk add --no-network --virtual .python-rundeps \ - ; \ - apk del --no-network .build-deps; \ - \ - export PYTHONDONTWRITEBYTECODE=1; \ - python3 --version; \ - \ - pip3 install \ - --disable-pip-version-check \ - --no-cache-dir \ - --no-compile \ - 'setuptools==79.0.1' \ - # https://github.com/docker-library/python/issues/1023 - 'wheel<0.46' \ - ; \ - pip3 --version - -# make some useful symlinks that are expected to exist ("/usr/local/bin/python" and friends) -RUN set -eux; \ - for src in idle3 pip3 pydoc3 python3 python3-config; do \ - dst="$(echo "$src" | tr -d 3)"; \ - [ -s "/usr/local/bin/$src" ]; \ - [ ! -e "/usr/local/bin/$dst" ]; \ - ln -svT "$src" "/usr/local/bin/$dst"; \ - done - -CMD ["python3"] diff --git a/3.9/alpine3.22/Dockerfile b/3.9/alpine3.22/Dockerfile deleted file mode 100644 index c0a72de76..000000000 --- a/3.9/alpine3.22/Dockerfile +++ /dev/null @@ -1,139 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.22 - -# ensure local python is preferred over distribution python -ENV PATH /usr/local/bin:$PATH - -# cannot remove LANG even though https://bugs.python.org/issue19846 is fixed -# last attempted removal of LANG broke many users: -# https://github.com/docker-library/python/pull/570 -ENV LANG C.UTF-8 - -# runtime dependencies -RUN set -eux; \ - apk add --no-cache \ - ca-certificates \ - tzdata \ - ; - -ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568 -ENV PYTHON_VERSION 3.9.24 -ENV PYTHON_SHA256 668391afabd5083faafa4543753d190f82f33ce6ba22d6e9ac728b43644b278a - -RUN set -eux; \ - \ - apk add --no-cache --virtual .build-deps \ - bluez-dev \ - bzip2-dev \ - dpkg-dev dpkg \ - findutils \ - gcc \ - gdbm-dev \ - gnupg \ - libc-dev \ - libffi-dev \ - libnsl-dev \ - libtirpc-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl-dev \ - pax-utils \ - readline-dev \ - sqlite-dev \ - tar \ - tcl-dev \ - tk \ - tk-dev \ - util-linux-dev \ - xz \ - xz-dev \ - zlib-dev \ - ; \ - \ - wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; \ - echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; \ - wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; \ - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ - gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; \ - gpg --batch --verify python.tar.xz.asc python.tar.xz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" python.tar.xz.asc; \ - mkdir -p /usr/src/python; \ - tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \ - rm python.tar.xz; \ - \ - cd /usr/src/python; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --enable-loadable-sqlite-extensions \ - --enable-option-checking=fatal \ - --enable-shared \ - --with-ensurepip \ - ; \ - nproc="$(nproc)"; \ -# set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() -# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 - EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:-}" \ - ; \ -# https://github.com/docker-library/python/issues/784 -# prevent accidental usage of a system installed libpython of the same version - rm python; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ - python \ - ; \ - make install; \ - \ - cd /; \ - rm -rf /usr/src/python; \ - \ - find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \ - -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \ - \) -exec rm -rf '{}' + \ - ; \ - \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - | xargs -rt apk add --no-network --virtual .python-rundeps \ - ; \ - apk del --no-network .build-deps; \ - \ - export PYTHONDONTWRITEBYTECODE=1; \ - python3 --version; \ - \ - pip3 install \ - --disable-pip-version-check \ - --no-cache-dir \ - --no-compile \ - 'setuptools==79.0.1' \ - # https://github.com/docker-library/python/issues/1023 - 'wheel<0.46' \ - ; \ - pip3 --version - -# make some useful symlinks that are expected to exist ("/usr/local/bin/python" and friends) -RUN set -eux; \ - for src in idle3 pip3 pydoc3 python3 python3-config; do \ - dst="$(echo "$src" | tr -d 3)"; \ - [ -s "/usr/local/bin/$src" ]; \ - [ ! -e "/usr/local/bin/$dst" ]; \ - ln -svT "$src" "/usr/local/bin/$dst"; \ - done - -CMD ["python3"] diff --git a/3.9/bookworm/Dockerfile b/3.9/bookworm/Dockerfile deleted file mode 100644 index 33d6c53cc..000000000 --- a/3.9/bookworm/Dockerfile +++ /dev/null @@ -1,112 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bookworm - -# ensure local python is preferred over distribution python -ENV PATH /usr/local/bin:$PATH - -# cannot remove LANG even though https://bugs.python.org/issue19846 is fixed -# last attempted removal of LANG broke many users: -# https://github.com/docker-library/python/pull/570 -ENV LANG C.UTF-8 - -# runtime dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - libbluetooth-dev \ - tk-dev \ - uuid-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568 -ENV PYTHON_VERSION 3.9.24 -ENV PYTHON_SHA256 668391afabd5083faafa4543753d190f82f33ce6ba22d6e9ac728b43644b278a - -RUN set -eux; \ - \ - wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; \ - echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; \ - wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; \ - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ - gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; \ - gpg --batch --verify python.tar.xz.asc python.tar.xz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" python.tar.xz.asc; \ - mkdir -p /usr/src/python; \ - tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \ - rm python.tar.xz; \ - \ - cd /usr/src/python; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --enable-loadable-sqlite-extensions \ - --enable-optimizations \ - --enable-option-checking=fatal \ - --enable-shared \ - --with-ensurepip \ - ; \ - nproc="$(nproc)"; \ - EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ - LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:-}" \ - ; \ -# https://github.com/docker-library/python/issues/784 -# prevent accidental usage of a system installed libpython of the same version - rm python; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ - python \ - ; \ - make install; \ - \ -# enable GDB to load debugging data: https://github.com/docker-library/python/pull/701 - bin="$(readlink -ve /usr/local/bin/python3)"; \ - dir="$(dirname "$bin")"; \ - mkdir -p "/usr/share/gdb/auto-load/$dir"; \ - cp -vL Tools/gdb/libpython.py "/usr/share/gdb/auto-load/$bin-gdb.py"; \ - \ - cd /; \ - rm -rf /usr/src/python; \ - \ - find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \ - -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \ - \) -exec rm -rf '{}' + \ - ; \ - \ - ldconfig; \ - \ - export PYTHONDONTWRITEBYTECODE=1; \ - python3 --version; \ - \ - pip3 install \ - --disable-pip-version-check \ - --no-cache-dir \ - --no-compile \ - 'setuptools==79.0.1' \ - # https://github.com/docker-library/python/issues/1023 - 'wheel<0.46' \ - ; \ - pip3 --version - -# make some useful symlinks that are expected to exist ("/usr/local/bin/python" and friends) -RUN set -eux; \ - for src in idle3 pip3 pydoc3 python3 python3-config; do \ - dst="$(echo "$src" | tr -d 3)"; \ - [ -s "/usr/local/bin/$src" ]; \ - [ ! -e "/usr/local/bin/$dst" ]; \ - ln -svT "$src" "/usr/local/bin/$dst"; \ - done - -CMD ["python3"] diff --git a/3.9/slim-bookworm/Dockerfile b/3.9/slim-bookworm/Dockerfile deleted file mode 100644 index 01649c2e1..000000000 --- a/3.9/slim-bookworm/Dockerfile +++ /dev/null @@ -1,146 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bookworm-slim - -# ensure local python is preferred over distribution python -ENV PATH /usr/local/bin:$PATH - -# cannot remove LANG even though https://bugs.python.org/issue19846 is fixed -# last attempted removal of LANG broke many users: -# https://github.com/docker-library/python/pull/570 -ENV LANG C.UTF-8 - -# runtime dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - netbase \ - tzdata \ - ; \ - rm -rf /var/lib/apt/lists/* - -ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568 -ENV PYTHON_VERSION 3.9.24 -ENV PYTHON_SHA256 668391afabd5083faafa4543753d190f82f33ce6ba22d6e9ac728b43644b278a - -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - dpkg-dev \ - gcc \ - gnupg \ - libbluetooth-dev \ - libbz2-dev \ - libc6-dev \ - libdb-dev \ - libffi-dev \ - libgdbm-dev \ - liblzma-dev \ - libncursesw5-dev \ - libreadline-dev \ - libsqlite3-dev \ - libssl-dev \ - make \ - tk-dev \ - uuid-dev \ - wget \ - xz-utils \ - zlib1g-dev \ - ; \ - \ - wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; \ - echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; \ - wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; \ - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ - gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; \ - gpg --batch --verify python.tar.xz.asc python.tar.xz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" python.tar.xz.asc; \ - mkdir -p /usr/src/python; \ - tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \ - rm python.tar.xz; \ - \ - cd /usr/src/python; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --enable-loadable-sqlite-extensions \ - --enable-optimizations \ - --enable-option-checking=fatal \ - --enable-shared \ - --with-ensurepip \ - ; \ - nproc="$(nproc)"; \ - EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ - LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:-}" \ - ; \ -# https://github.com/docker-library/python/issues/784 -# prevent accidental usage of a system installed libpython of the same version - rm python; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ - python \ - ; \ - make install; \ - \ - cd /; \ - rm -rf /usr/src/python; \ - \ - find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \ - -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \ - \) -exec rm -rf '{}' + \ - ; \ - \ - ldconfig; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -rt dpkg-query --search \ -# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file) - | awk 'sub(":$", "", $1) { print $1 }' \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ - \ - export PYTHONDONTWRITEBYTECODE=1; \ - python3 --version; \ - \ - pip3 install \ - --disable-pip-version-check \ - --no-cache-dir \ - --no-compile \ - 'setuptools==79.0.1' \ - # https://github.com/docker-library/python/issues/1023 - 'wheel<0.46' \ - ; \ - pip3 --version - -# make some useful symlinks that are expected to exist ("/usr/local/bin/python" and friends) -RUN set -eux; \ - for src in idle3 pip3 pydoc3 python3 python3-config; do \ - dst="$(echo "$src" | tr -d 3)"; \ - [ -s "/usr/local/bin/$src" ]; \ - [ ! -e "/usr/local/bin/$dst" ]; \ - ln -svT "$src" "/usr/local/bin/$dst"; \ - done - -CMD ["python3"] diff --git a/3.9/slim-trixie/Dockerfile b/3.9/slim-trixie/Dockerfile deleted file mode 100644 index ddf9a7244..000000000 --- a/3.9/slim-trixie/Dockerfile +++ /dev/null @@ -1,146 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:trixie-slim - -# ensure local python is preferred over distribution python -ENV PATH /usr/local/bin:$PATH - -# cannot remove LANG even though https://bugs.python.org/issue19846 is fixed -# last attempted removal of LANG broke many users: -# https://github.com/docker-library/python/pull/570 -ENV LANG C.UTF-8 - -# runtime dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - netbase \ - tzdata \ - ; \ - apt-get dist-clean - -ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568 -ENV PYTHON_VERSION 3.9.24 -ENV PYTHON_SHA256 668391afabd5083faafa4543753d190f82f33ce6ba22d6e9ac728b43644b278a - -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - dpkg-dev \ - gcc \ - gnupg \ - libbluetooth-dev \ - libbz2-dev \ - libc6-dev \ - libdb-dev \ - libffi-dev \ - libgdbm-dev \ - liblzma-dev \ - libncursesw5-dev \ - libreadline-dev \ - libsqlite3-dev \ - libssl-dev \ - make \ - tk-dev \ - uuid-dev \ - wget \ - xz-utils \ - zlib1g-dev \ - ; \ - \ - wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; \ - echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; \ - wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; \ - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ - gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; \ - gpg --batch --verify python.tar.xz.asc python.tar.xz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" python.tar.xz.asc; \ - mkdir -p /usr/src/python; \ - tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \ - rm python.tar.xz; \ - \ - cd /usr/src/python; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --enable-loadable-sqlite-extensions \ - --enable-optimizations \ - --enable-option-checking=fatal \ - --enable-shared \ - --with-ensurepip \ - ; \ - nproc="$(nproc)"; \ - EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ - LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:-}" \ - ; \ -# https://github.com/docker-library/python/issues/784 -# prevent accidental usage of a system installed libpython of the same version - rm python; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ - python \ - ; \ - make install; \ - \ - cd /; \ - rm -rf /usr/src/python; \ - \ - find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \ - -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \ - \) -exec rm -rf '{}' + \ - ; \ - \ - ldconfig; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -rt dpkg-query --search \ -# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file) - | awk 'sub(":$", "", $1) { print $1 }' \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - apt-get dist-clean; \ - \ - export PYTHONDONTWRITEBYTECODE=1; \ - python3 --version; \ - \ - pip3 install \ - --disable-pip-version-check \ - --no-cache-dir \ - --no-compile \ - 'setuptools==79.0.1' \ - # https://github.com/docker-library/python/issues/1023 - 'wheel<0.46' \ - ; \ - pip3 --version - -# make some useful symlinks that are expected to exist ("/usr/local/bin/python" and friends) -RUN set -eux; \ - for src in idle3 pip3 pydoc3 python3 python3-config; do \ - dst="$(echo "$src" | tr -d 3)"; \ - [ -s "/usr/local/bin/$src" ]; \ - [ ! -e "/usr/local/bin/$dst" ]; \ - ln -svT "$src" "/usr/local/bin/$dst"; \ - done - -CMD ["python3"] diff --git a/3.9/trixie/Dockerfile b/3.9/trixie/Dockerfile deleted file mode 100644 index 34e6ff6d2..000000000 --- a/3.9/trixie/Dockerfile +++ /dev/null @@ -1,112 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:trixie - -# ensure local python is preferred over distribution python -ENV PATH /usr/local/bin:$PATH - -# cannot remove LANG even though https://bugs.python.org/issue19846 is fixed -# last attempted removal of LANG broke many users: -# https://github.com/docker-library/python/pull/570 -ENV LANG C.UTF-8 - -# runtime dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - libbluetooth-dev \ - tk-dev \ - uuid-dev \ - ; \ - apt-get dist-clean - -ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568 -ENV PYTHON_VERSION 3.9.24 -ENV PYTHON_SHA256 668391afabd5083faafa4543753d190f82f33ce6ba22d6e9ac728b43644b278a - -RUN set -eux; \ - \ - wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; \ - echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; \ - wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; \ - GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \ - gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; \ - gpg --batch --verify python.tar.xz.asc python.tar.xz; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" python.tar.xz.asc; \ - mkdir -p /usr/src/python; \ - tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \ - rm python.tar.xz; \ - \ - cd /usr/src/python; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --enable-loadable-sqlite-extensions \ - --enable-optimizations \ - --enable-option-checking=fatal \ - --enable-shared \ - --with-ensurepip \ - ; \ - nproc="$(nproc)"; \ - EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \ - LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:-}" \ - ; \ -# https://github.com/docker-library/python/issues/784 -# prevent accidental usage of a system installed libpython of the same version - rm python; \ - make -j "$nproc" \ - "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ - python \ - ; \ - make install; \ - \ -# enable GDB to load debugging data: https://github.com/docker-library/python/pull/701 - bin="$(readlink -ve /usr/local/bin/python3)"; \ - dir="$(dirname "$bin")"; \ - mkdir -p "/usr/share/gdb/auto-load/$dir"; \ - cp -vL Tools/gdb/libpython.py "/usr/share/gdb/auto-load/$bin-gdb.py"; \ - \ - cd /; \ - rm -rf /usr/src/python; \ - \ - find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \ - -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \ - \) -exec rm -rf '{}' + \ - ; \ - \ - ldconfig; \ - \ - export PYTHONDONTWRITEBYTECODE=1; \ - python3 --version; \ - \ - pip3 install \ - --disable-pip-version-check \ - --no-cache-dir \ - --no-compile \ - 'setuptools==79.0.1' \ - # https://github.com/docker-library/python/issues/1023 - 'wheel<0.46' \ - ; \ - pip3 --version - -# make some useful symlinks that are expected to exist ("/usr/local/bin/python" and friends) -RUN set -eux; \ - for src in idle3 pip3 pydoc3 python3 python3-config; do \ - dst="$(echo "$src" | tr -d 3)"; \ - [ -s "/usr/local/bin/$src" ]; \ - [ ! -e "/usr/local/bin/$dst" ]; \ - ln -svT "$src" "/usr/local/bin/$dst"; \ - done - -CMD ["python3"] diff --git a/Dockerfile-linux.template b/Dockerfile-linux.template index d58480c09..92cc4f2b5 100644 --- a/Dockerfile-linux.template +++ b/Dockerfile-linux.template @@ -25,7 +25,7 @@ FROM buildpack-deps:{{ env.variant }} # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH -{{ if rcVersion | IN("3.9", "3.10", "3.11", "3.12") then ( -}} +{{ if rcVersion | IN("3.10", "3.11", "3.12") then ( -}} {{ # only set LANG on versions less than 3.13 -}} # cannot remove LANG even though https://bugs.python.org/issue19846 is fixed # last attempted removal of LANG broke many users: @@ -62,15 +62,11 @@ RUN set -eux; \ # https://github.com/docker-library/python/issues/977 # https://peps.python.org/pep-0761/ # https://discuss.python.org/t/pep-761-deprecating-pgp-signatures-for-cpython-artifacts/67180 - rcVersion | IN("3.9", "3.10", "3.11", "3.12", "3.13") + rcVersion | IN("3.10", "3.11", "3.12", "3.13") -}} {{ if should_pgp then ( -}} ENV GPG_KEY {{ { - # gpg: key B26995E310250568: public key "\xc5\x81ukasz Langa (GPG langa.pl) " imported - "3.9": "E3FF2839C048B25C084DEBE9B26995E310250568", - # https://peps.python.org/pep-0596/#release-manager-and-crew - # gpg: key 64E628F8D684696D: public key "Pablo Galindo Salgado " imported "3.10": "A035C8C19219BA821ECEA86B64E628F8D684696D", # https://peps.python.org/pep-0619/#release-manager-and-crew @@ -124,7 +120,7 @@ RUN set -eux; \ "xz", "xz-dev", "zlib-dev", - if IN(env.version; "3.9", "3.10", "3.11", "3.12", "3.13") then empty else + if IN(env.version; "3.10", "3.11", "3.12", "3.13") then empty else "zstd-dev" end, empty @@ -152,7 +148,7 @@ RUN set -eux; \ "zlib1g-dev", empty else empty end, - if IN(env.version; "3.9", "3.10", "3.11", "3.12", "3.13") then empty else + if IN(env.version; "3.10", "3.11", "3.12", "3.13") then empty else "libzstd-dev" end, empty @@ -207,13 +203,8 @@ RUN set -eux; \ {{ ) end -}} --enable-option-checking=fatal \ --enable-shared \ -{{ - # <3.10 does not have -fno-semantic-interposition enabled and --with-lto does nothing for performance - # skip LTO on riscv64: https://github.com/docker-library/python/pull/935, https://github.com/docker-library/python/pull/1038 - if rcVersion == "3.9" then "" else ( --}} +{{ # skip LTO on riscv64: https://github.com/docker-library/python/pull/935, https://github.com/docker-library/python/pull/1038 -}} $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \ -{{ ) end -}} --with-ensurepip \ ; \ nproc="$(nproc)"; \ @@ -226,42 +217,42 @@ RUN set -eux; \ LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \ {{ ) end -}} {{ if is_slim or is_alpine then ( -}} - LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \ + LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; \ {{ ) else "" end -}} {{ # Enabling frame-pointers only makes sense for Python 3.12 and newer as those have perf profiler support - if rcVersion | IN("3.9", "3.10", "3.11") then "" else ( + if rcVersion | IN("3.10", "3.11") then "" else ( -}} {{ if is_alpine then ( -}} - arch="$(apk --print-arch)"; \ + arch="$(apk --print-arch)"; \ {{ ) else ( -}} - arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ + arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ {{ ) end -}} # https://docs.python.org/3.12/howto/perf_profiling.html # https://github.com/docker-library/python/pull/1000#issuecomment-2597021615 - case "$arch" in \ + case "$arch" in \ {{ if is_alpine then ( -}} - x86_64|aarch64) \ + x86_64|aarch64) \ {{ ) else ( -}} - amd64|arm64) \ + amd64|arm64) \ {{ ) end -}} - # only add "-mno-omit-leaf" on arches that support it - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 - # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ - ;; \ + # only add "-mno-omit-leaf" on arches that support it + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html#index-momit-leaf-frame-pointer-2 + # https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/AArch64-Options.html#index-momit-leaf-frame-pointer + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \ + ;; \ {{ if is_alpine then ( -}} - x86) \ + x86) \ {{ ) else ( -}} - i386) \ + i386) \ {{ ) end -}} - # don't enable frame-pointers on 32bit x86 due to performance drop. - ;; \ - *) \ - # other arches don't support "-mno-omit-leaf" - EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ - ;; \ - esac; \ + # don't enable frame-pointers on 32bit x86 due to performance drop. + ;; \ + *) \ + # other arches don't support "-mno-omit-leaf" + EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; \ + ;; \ + esac; \ {{ ) end -}} make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ @@ -272,7 +263,7 @@ RUN set -eux; \ rm python; \ make -j "$nproc" \ "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \ - "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \ + "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" \ python \ ; \ make install; \ diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index b8f386f2e..cf95fe839 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -137,10 +137,7 @@ for version; do esac # https://github.com/python/cpython/issues/93619 (Linking error when building 3.11 beta on mips64le) + https://peps.python.org/pep-0011/ (mips is not even tier 3) - case "$version" in - 3.9) ;; - *) variantArches="$(sed <<<" $variantArches " -e 's/ mips64le / /g')" ;; - esac + variantArches="$(sed <<<" $variantArches " -e 's/ mips64le / /g')" sharedTags=() for windowsShared in windowsservercore nanoserver; do diff --git a/versions.json b/versions.json index bafd85867..163c15711 100644 --- a/versions.json +++ b/versions.json @@ -2,7 +2,7 @@ "3.10": { "checksums": { "source": { - "sha256": "c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076" + "sha256": "de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505" } }, "setuptools": { @@ -13,15 +13,15 @@ "slim-trixie", "bookworm", "slim-bookworm", - "alpine3.22", - "alpine3.21" + "alpine3.24", + "alpine3.23" ], - "version": "3.10.19" + "version": "3.10.20" }, "3.11": { "checksums": { "source": { - "sha256": "8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78" + "sha256": "272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625" } }, "setuptools": { @@ -32,15 +32,15 @@ "slim-trixie", "bookworm", "slim-bookworm", - "alpine3.22", - "alpine3.21" + "alpine3.24", + "alpine3.23" ], - "version": "3.11.14" + "version": "3.11.15" }, "3.12": { "checksums": { "source": { - "sha256": "fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4" + "sha256": "c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684" } }, "variants": [ @@ -48,18 +48,18 @@ "slim-trixie", "bookworm", "slim-bookworm", - "alpine3.22", - "alpine3.21" + "alpine3.24", + "alpine3.23" ], - "version": "3.12.12" + "version": "3.12.13" }, "3.13": { "checksums": { "source": { - "sha256": "ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66" + "sha256": "639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690" }, "windows": { - "sha256": "200ddff856bbff949d2cc1be42e8807c07538abd6b6966d5113a094cf628c5c5" + "sha256": "c54d9b9bbb8a36e6489363ddd01139707fd781d72f1f9e90c7ec65d0061368e0" } }, "variants": [ @@ -67,20 +67,20 @@ "slim-trixie", "bookworm", "slim-bookworm", - "alpine3.22", - "alpine3.21", + "alpine3.24", + "alpine3.23", "windows/windowsservercore-ltsc2025", "windows/windowsservercore-ltsc2022" ], - "version": "3.13.9" + "version": "3.13.14" }, "3.14": { "checksums": { "source": { - "sha256": "2299dae542d395ce3883aca00d3c910307cd68e0b2f7336098c8e7b7eee9f3e9" + "sha256": "143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63" }, "windows": { - "sha256": "52ceb249f65009d936e6504f97cce42870c11358cb6e48825e893f54e11620aa" + "sha256": "14b3e9a710a3fcf0bd9b55ab6b60412bd91227563f813fc49040cabc0209e0bd" } }, "variants": [ @@ -88,20 +88,20 @@ "slim-trixie", "bookworm", "slim-bookworm", - "alpine3.22", - "alpine3.21", + "alpine3.24", + "alpine3.23", "windows/windowsservercore-ltsc2025", "windows/windowsservercore-ltsc2022" ], - "version": "3.14.0" + "version": "3.14.6" }, "3.15-rc": { "checksums": { "source": { - "sha256": "3194939d488eeaeefdcf990d35542d9ad1ce788789c4e2305a2060eb7058e5a4" + "sha256": "6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127" }, "windows": { - "sha256": "376a4b54b3b6fd5b0614b5c0d5a5a3d75b89861102e2f3d6166b2bf5c6d925bb" + "sha256": "8002dbdf7277964a3c50f5deef090dfcd0769647a35aec97999f63d5f2903d38" } }, "variants": [ @@ -109,30 +109,11 @@ "slim-trixie", "bookworm", "slim-bookworm", - "alpine3.22", - "alpine3.21", + "alpine3.24", + "alpine3.23", "windows/windowsservercore-ltsc2025", "windows/windowsservercore-ltsc2022" ], - "version": "3.15.0a1" - }, - "3.9": { - "checksums": { - "source": { - "sha256": "668391afabd5083faafa4543753d190f82f33ce6ba22d6e9ac728b43644b278a" - } - }, - "setuptools": { - "version": "79.0.1" - }, - "variants": [ - "trixie", - "slim-trixie", - "bookworm", - "slim-bookworm", - "alpine3.22", - "alpine3.21" - ], - "version": "3.9.24" + "version": "3.15.0b3" } } diff --git a/versions.sh b/versions.sh index 73af73d37..750fe82d3 100755 --- a/versions.sh +++ b/versions.sh @@ -162,7 +162,7 @@ for version in "${versions[@]}"; do # TODO remove setuptools version handling entirely once Python 3.11 is EOL setuptoolsVersion="$(sed -nre 's/^_SETUPTOOLS_VERSION[[:space:]]*=[[:space:]]*"(.*?)".*/\1/p' <<<"$ensurepipVersions")" case "$rcVersion" in - 3.9 | 3.10 | 3.11) + 3.10 | 3.11) if [ -z "$setuptoolsVersion" ]; then echo >&2 "error: $version: missing setuptools version" exit 1 @@ -195,8 +195,8 @@ for version in "${versions[@]}"; do empty | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( - "3.22", - "3.21", + "3.24", + "3.23", empty | "alpine" + .), if env.hasWindows != "" then