-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update python #18388
Merged
Merged
Update python #18388
+50
−50
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Changes: - docker-library/python@0330f0ba: Update 3.13 to 3.13.2 - docker-library/python@9c50e071: Update 3.12 to 3.12.9 - docker-library/python@393cf619: Merge pull request docker-library/python#1003 from infosiftr/less-leaf - docker-library/python@3186ee40: Fix builds for `arm32vX`, `mips64le`, `ppc64le`, `riscv64`, and `s390x`
Diff for 93a749d:diff --git a/_bashbrew-cat b/_bashbrew-cat
index 5a17af0..7e2423e 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -95,145 +95,145 @@ Architectures: amd64, arm32v7, arm64v8, i386
GitCommit: ded42cf92d68bb878c8a1a9a4f3c86bad6023f4e
Directory: 3.11/slim-bullseye
-Tags: 3.12.8-alpine3.20, 3.12-alpine3.20
+Tags: 3.12.9-alpine3.20, 3.12-alpine3.20
Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/alpine3.20
-Tags: 3.12.8-alpine3.21, 3.12-alpine3.21, 3.12.8-alpine, 3.12-alpine
+Tags: 3.12.9-alpine3.21, 3.12-alpine3.21, 3.12.9-alpine, 3.12-alpine
Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/alpine3.21
-Tags: 3.12.8-bookworm, 3.12-bookworm
-SharedTags: 3.12.8, 3.12
+Tags: 3.12.9-bookworm, 3.12-bookworm
+SharedTags: 3.12.9, 3.12
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/bookworm
-Tags: 3.12.8-bullseye, 3.12-bullseye
+Tags: 3.12.9-bullseye, 3.12-bullseye
Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/bullseye
-Tags: 3.12.8-slim-bookworm, 3.12-slim-bookworm, 3.12.8-slim, 3.12-slim
+Tags: 3.12.9-slim-bookworm, 3.12-slim-bookworm, 3.12.9-slim, 3.12-slim
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/slim-bookworm
-Tags: 3.12.8-slim-bullseye, 3.12-slim-bullseye
+Tags: 3.12.9-slim-bullseye, 3.12-slim-bullseye
Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/slim-bullseye
-Tags: 3.12.8-windowsservercore-1809, 3.12-windowsservercore-1809
-SharedTags: 3.12.8-windowsservercore, 3.12-windowsservercore, 3.12.8, 3.12
+Tags: 3.12.9-windowsservercore-1809, 3.12-windowsservercore-1809
+SharedTags: 3.12.9-windowsservercore, 3.12-windowsservercore, 3.12.9, 3.12
Architectures: windows-amd64
-GitCommit: 23c83c5a82646e123df33d056f7dfbe1d78cfc8b
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/windows/windowsservercore-1809
Builder: classic
Constraints: windowsservercore-1809
-Tags: 3.12.8-windowsservercore-ltsc2022, 3.12-windowsservercore-ltsc2022
-SharedTags: 3.12.8-windowsservercore, 3.12-windowsservercore, 3.12.8, 3.12
+Tags: 3.12.9-windowsservercore-ltsc2022, 3.12-windowsservercore-ltsc2022
+SharedTags: 3.12.9-windowsservercore, 3.12-windowsservercore, 3.12.9, 3.12
Architectures: windows-amd64
-GitCommit: 23c83c5a82646e123df33d056f7dfbe1d78cfc8b
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/windows/windowsservercore-ltsc2022
Builder: classic
Constraints: windowsservercore-ltsc2022
-Tags: 3.12.8-windowsservercore-ltsc2025, 3.12-windowsservercore-ltsc2025
-SharedTags: 3.12.8-windowsservercore, 3.12-windowsservercore, 3.12.8, 3.12
+Tags: 3.12.9-windowsservercore-ltsc2025, 3.12-windowsservercore-ltsc2025
+SharedTags: 3.12.9-windowsservercore, 3.12-windowsservercore, 3.12.9, 3.12
Architectures: windows-amd64
-GitCommit: 3a0299db7160774f6927c944acc9485730b13015
+GitCommit: 9c50e071f7445d04776485e28d208d39c25fbbaa
Directory: 3.12/windows/windowsservercore-ltsc2025
Builder: classic
Constraints: windowsservercore-ltsc2025
-Tags: 3.13.1-alpine3.20, 3.13-alpine3.20, 3-alpine3.20, alpine3.20
+Tags: 3.13.2-alpine3.20, 3.13-alpine3.20, 3-alpine3.20, alpine3.20
Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/alpine3.20
-Tags: 3.13.1-alpine3.21, 3.13-alpine3.21, 3-alpine3.21, alpine3.21, 3.13.1-alpine, 3.13-alpine, 3-alpine, alpine
+Tags: 3.13.2-alpine3.21, 3.13-alpine3.21, 3-alpine3.21, alpine3.21, 3.13.2-alpine, 3.13-alpine, 3-alpine, alpine
Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/alpine3.21
-Tags: 3.13.1-bookworm, 3.13-bookworm, 3-bookworm, bookworm
-SharedTags: 3.13.1, 3.13, 3, latest
+Tags: 3.13.2-bookworm, 3.13-bookworm, 3-bookworm, bookworm
+SharedTags: 3.13.2, 3.13, 3, latest
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/bookworm
-Tags: 3.13.1-bullseye, 3.13-bullseye, 3-bullseye, bullseye
+Tags: 3.13.2-bullseye, 3.13-bullseye, 3-bullseye, bullseye
Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/bullseye
-Tags: 3.13.1-slim-bookworm, 3.13-slim-bookworm, 3-slim-bookworm, slim-bookworm, 3.13.1-slim, 3.13-slim, 3-slim, slim
+Tags: 3.13.2-slim-bookworm, 3.13-slim-bookworm, 3-slim-bookworm, slim-bookworm, 3.13.2-slim, 3.13-slim, 3-slim, slim
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/slim-bookworm
-Tags: 3.13.1-slim-bullseye, 3.13-slim-bullseye, 3-slim-bullseye, slim-bullseye
+Tags: 3.13.2-slim-bullseye, 3.13-slim-bullseye, 3-slim-bullseye, slim-bullseye
Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/slim-bullseye
-Tags: 3.13.1-windowsservercore-1809, 3.13-windowsservercore-1809, 3-windowsservercore-1809, windowsservercore-1809
-SharedTags: 3.13.1-windowsservercore, 3.13-windowsservercore, 3-windowsservercore, windowsservercore, 3.13.1, 3.13, 3, latest
+Tags: 3.13.2-windowsservercore-1809, 3.13-windowsservercore-1809, 3-windowsservercore-1809, windowsservercore-1809
+SharedTags: 3.13.2-windowsservercore, 3.13-windowsservercore, 3-windowsservercore, windowsservercore, 3.13.2, 3.13, 3, latest
Architectures: windows-amd64
-GitCommit: da7ef3c71d3ecd87a43018a372b3e3590d88dd98
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/windows/windowsservercore-1809
Builder: classic
Constraints: windowsservercore-1809
-Tags: 3.13.1-windowsservercore-ltsc2022, 3.13-windowsservercore-ltsc2022, 3-windowsservercore-ltsc2022, windowsservercore-ltsc2022
-SharedTags: 3.13.1-windowsservercore, 3.13-windowsservercore, 3-windowsservercore, windowsservercore, 3.13.1, 3.13, 3, latest
+Tags: 3.13.2-windowsservercore-ltsc2022, 3.13-windowsservercore-ltsc2022, 3-windowsservercore-ltsc2022, windowsservercore-ltsc2022
+SharedTags: 3.13.2-windowsservercore, 3.13-windowsservercore, 3-windowsservercore, windowsservercore, 3.13.2, 3.13, 3, latest
Architectures: windows-amd64
-GitCommit: da7ef3c71d3ecd87a43018a372b3e3590d88dd98
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/windows/windowsservercore-ltsc2022
Builder: classic
Constraints: windowsservercore-ltsc2022
-Tags: 3.13.1-windowsservercore-ltsc2025, 3.13-windowsservercore-ltsc2025, 3-windowsservercore-ltsc2025, windowsservercore-ltsc2025
-SharedTags: 3.13.1-windowsservercore, 3.13-windowsservercore, 3-windowsservercore, windowsservercore, 3.13.1, 3.13, 3, latest
+Tags: 3.13.2-windowsservercore-ltsc2025, 3.13-windowsservercore-ltsc2025, 3-windowsservercore-ltsc2025, windowsservercore-ltsc2025
+SharedTags: 3.13.2-windowsservercore, 3.13-windowsservercore, 3-windowsservercore, windowsservercore, 3.13.2, 3.13, 3, latest
Architectures: windows-amd64
-GitCommit: 3a0299db7160774f6927c944acc9485730b13015
+GitCommit: 0330f0baedb296c8806a869d04fe76838f721647
Directory: 3.13/windows/windowsservercore-ltsc2025
Builder: classic
Constraints: windowsservercore-ltsc2025
Tags: 3.14.0a4-alpine3.20, 3.14-rc-alpine3.20
Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 3186ee4081313711105e1e30a163248db67d5618
Directory: 3.14-rc/alpine3.20
Tags: 3.14.0a4-alpine3.21, 3.14-rc-alpine3.21, 3.14.0a4-alpine, 3.14-rc-alpine
Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 3186ee4081313711105e1e30a163248db67d5618
Directory: 3.14-rc/alpine3.21
Tags: 3.14.0a4-bookworm, 3.14-rc-bookworm
SharedTags: 3.14.0a4, 3.14-rc
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 3186ee4081313711105e1e30a163248db67d5618
Directory: 3.14-rc/bookworm
Tags: 3.14.0a4-bullseye, 3.14-rc-bullseye
Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 3186ee4081313711105e1e30a163248db67d5618
Directory: 3.14-rc/bullseye
Tags: 3.14.0a4-slim-bookworm, 3.14-rc-slim-bookworm, 3.14.0a4-slim, 3.14-rc-slim
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 3186ee4081313711105e1e30a163248db67d5618
Directory: 3.14-rc/slim-bookworm
Tags: 3.14.0a4-slim-bullseye, 3.14-rc-slim-bullseye
Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 5b0aaddf4f4e887cad27aee3ca99a0c698693c5a
+GitCommit: 3186ee4081313711105e1e30a163248db67d5618
Directory: 3.14-rc/slim-bullseye
Tags: 3.14.0a4-windowsservercore-1809, 3.14-rc-windowsservercore-1809
diff --git a/_bashbrew-list b/_bashbrew-list
index 53da0b7..f4f4074 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -78,19 +78,19 @@ python:3.12-windowsservercore
python:3.12-windowsservercore-1809
python:3.12-windowsservercore-ltsc2022
python:3.12-windowsservercore-ltsc2025
-python:3.12.8
-python:3.12.8-alpine
-python:3.12.8-alpine3.20
-python:3.12.8-alpine3.21
-python:3.12.8-bookworm
-python:3.12.8-bullseye
-python:3.12.8-slim
-python:3.12.8-slim-bookworm
-python:3.12.8-slim-bullseye
-python:3.12.8-windowsservercore
-python:3.12.8-windowsservercore-1809
-python:3.12.8-windowsservercore-ltsc2022
-python:3.12.8-windowsservercore-ltsc2025
+python:3.12.9
+python:3.12.9-alpine
+python:3.12.9-alpine3.20
+python:3.12.9-alpine3.21
+python:3.12.9-bookworm
+python:3.12.9-bullseye
+python:3.12.9-slim
+python:3.12.9-slim-bookworm
+python:3.12.9-slim-bullseye
+python:3.12.9-windowsservercore
+python:3.12.9-windowsservercore-1809
+python:3.12.9-windowsservercore-ltsc2022
+python:3.12.9-windowsservercore-ltsc2025
python:3.13
python:3.13-alpine
python:3.13-alpine3.20
@@ -104,19 +104,19 @@ python:3.13-windowsservercore
python:3.13-windowsservercore-1809
python:3.13-windowsservercore-ltsc2022
python:3.13-windowsservercore-ltsc2025
-python:3.13.1
-python:3.13.1-alpine
-python:3.13.1-alpine3.20
-python:3.13.1-alpine3.21
-python:3.13.1-bookworm
-python:3.13.1-bullseye
-python:3.13.1-slim
-python:3.13.1-slim-bookworm
-python:3.13.1-slim-bullseye
-python:3.13.1-windowsservercore
-python:3.13.1-windowsservercore-1809
-python:3.13.1-windowsservercore-ltsc2022
-python:3.13.1-windowsservercore-ltsc2025
+python:3.13.2
+python:3.13.2-alpine
+python:3.13.2-alpine3.20
+python:3.13.2-alpine3.21
+python:3.13.2-bookworm
+python:3.13.2-bullseye
+python:3.13.2-slim
+python:3.13.2-slim-bookworm
+python:3.13.2-slim-bullseye
+python:3.13.2-windowsservercore
+python:3.13.2-windowsservercore-1809
+python:3.13.2-windowsservercore-ltsc2022
+python:3.13.2-windowsservercore-ltsc2025
python:3.14-rc
python:3.14-rc-alpine
python:3.14-rc-alpine3.20
diff --git a/python_3.12-alpine/Dockerfile b/python_3.12-alpine/Dockerfile
index ecfa2e5..e99437d 100644
--- a/python_3.12-alpine/Dockerfile
+++ b/python_3.12-alpine/Dockerfile
@@ -22,8 +22,8 @@ RUN set -eux; \
;
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.12.8
-ENV PYTHON_SHA256 c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112
RUN set -eux; \
\
@@ -84,10 +84,24 @@ RUN set -eux; \
# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0
EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(apk --print-arch)"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.12-alpine3.20/Dockerfile b/python_3.12-alpine3.20/Dockerfile
index 738425f..72c66a1 100644
--- a/python_3.12-alpine3.20/Dockerfile
+++ b/python_3.12-alpine3.20/Dockerfile
@@ -22,8 +22,8 @@ RUN set -eux; \
;
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.12.8
-ENV PYTHON_SHA256 c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112
RUN set -eux; \
\
@@ -84,10 +84,24 @@ RUN set -eux; \
# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0
EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(apk --print-arch)"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.12-bookworm/Dockerfile b/python_3.12-bookworm/Dockerfile
index 03a5677..4b68e5c 100644
--- a/python_3.12-bookworm/Dockerfile
+++ b/python_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.8
-ENV PYTHON_SHA256 c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112
RUN set -eux; \
\
@@ -56,10 +56,24 @@ RUN set -eux; \
nproc="$(nproc)"; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.12-bullseye/Dockerfile b/python_3.12-bullseye/Dockerfile
index c50e64a..822284f 100644
--- a/python_3.12-bullseye/Dockerfile
+++ b/python_3.12-bullseye/Dockerfile
@@ -25,8 +25,8 @@ RUN set -eux; \
rm -rf /var/lib/apt/lists/*
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.12.8
-ENV PYTHON_SHA256 c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112
RUN set -eux; \
\
@@ -56,10 +56,24 @@ RUN set -eux; \
nproc="$(nproc)"; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.12-slim-bullseye/Dockerfile b/python_3.12-slim-bullseye/Dockerfile
index cfc48bc..3e20ec1 100644
--- a/python_3.12-slim-bullseye/Dockerfile
+++ b/python_3.12-slim-bullseye/Dockerfile
@@ -25,8 +25,8 @@ RUN set -eux; \
rm -rf /var/lib/apt/lists/*
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.12.8
-ENV PYTHON_SHA256 c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112
RUN set -eux; \
\
@@ -82,10 +82,24 @@ RUN set -eux; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.12-slim/Dockerfile b/python_3.12-slim/Dockerfile
index f2f30c0..216e4b9 100644
--- a/python_3.12-slim/Dockerfile
+++ b/python_3.12-slim/Dockerfile
@@ -25,8 +25,8 @@ RUN set -eux; \
rm -rf /var/lib/apt/lists/*
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.12.8
-ENV PYTHON_SHA256 c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112
RUN set -eux; \
\
@@ -82,10 +82,24 @@ RUN set -eux; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.12-windowsservercore-1809/Dockerfile b/python_3.12-windowsservercore-1809/Dockerfile
index da58b94..f183af9 100644
--- a/python_3.12-windowsservercore-1809/Dockerfile
+++ b/python_3.12-windowsservercore-1809/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.12.8
-ENV PYTHON_SHA256 71bd44e6b0e91c17558963557e4cdb80b483de9b0a0a9717f06cf896f95ab598
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 2a52993092a19cfdffe126e2eeac46a4265e25705614546604ad44988e040c0f
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/python_3.12-windowsservercore-ltsc2022/Dockerfile b/python_3.12-windowsservercore-ltsc2022/Dockerfile
index cfbea35..08d77fb 100644
--- a/python_3.12-windowsservercore-ltsc2022/Dockerfile
+++ b/python_3.12-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.12.8
-ENV PYTHON_SHA256 71bd44e6b0e91c17558963557e4cdb80b483de9b0a0a9717f06cf896f95ab598
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 2a52993092a19cfdffe126e2eeac46a4265e25705614546604ad44988e040c0f
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/python_3.12-windowsservercore-ltsc2025/Dockerfile b/python_3.12-windowsservercore-ltsc2025/Dockerfile
index 24c711b..97cf61e 100644
--- a/python_3.12-windowsservercore-ltsc2025/Dockerfile
+++ b/python_3.12-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.12.8
-ENV PYTHON_SHA256 71bd44e6b0e91c17558963557e4cdb80b483de9b0a0a9717f06cf896f95ab598
+ENV PYTHON_VERSION 3.12.9
+ENV PYTHON_SHA256 2a52993092a19cfdffe126e2eeac46a4265e25705614546604ad44988e040c0f
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/python_3.14-rc-alpine/Dockerfile b/python_3.14-rc-alpine/Dockerfile
index aef7089..3d3a528 100644
--- a/python_3.14-rc-alpine/Dockerfile
+++ b/python_3.14-rc-alpine/Dockerfile
@@ -72,10 +72,24 @@ RUN set -eux; \
# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0
EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(apk --print-arch)"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.14-rc-alpine3.20/Dockerfile b/python_3.14-rc-alpine3.20/Dockerfile
index 9ecd7cc..8549564 100644
--- a/python_3.14-rc-alpine3.20/Dockerfile
+++ b/python_3.14-rc-alpine3.20/Dockerfile
@@ -72,10 +72,24 @@ RUN set -eux; \
# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0
EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(apk --print-arch)"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.14-rc-bookworm/Dockerfile b/python_3.14-rc-bookworm/Dockerfile
index 87bcfdb..0ee240f 100644
--- a/python_3.14-rc-bookworm/Dockerfile
+++ b/python_3.14-rc-bookworm/Dockerfile
@@ -44,10 +44,24 @@ RUN set -eux; \
nproc="$(nproc)"; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.14-rc-bullseye/Dockerfile b/python_3.14-rc-bullseye/Dockerfile
index 503461b..2f5fbf4 100644
--- a/python_3.14-rc-bullseye/Dockerfile
+++ b/python_3.14-rc-bullseye/Dockerfile
@@ -44,10 +44,24 @@ RUN set -eux; \
nproc="$(nproc)"; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.14-rc-slim-bullseye/Dockerfile b/python_3.14-rc-slim-bullseye/Dockerfile
index d449c28..bd59101 100644
--- a/python_3.14-rc-slim-bullseye/Dockerfile
+++ b/python_3.14-rc-slim-bullseye/Dockerfile
@@ -70,10 +70,24 @@ RUN set -eux; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_3.14-rc-slim/Dockerfile b/python_3.14-rc-slim/Dockerfile
index 74ad70f..c3e7e6b 100644
--- a/python_3.14-rc-slim/Dockerfile
+++ b/python_3.14-rc-slim/Dockerfile
@@ -70,10 +70,24 @@ RUN set -eux; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_alpine/Dockerfile b/python_alpine/Dockerfile
index 2fb507f..4201a67 100644
--- a/python_alpine/Dockerfile
+++ b/python_alpine/Dockerfile
@@ -17,8 +17,8 @@ RUN set -eux; \
;
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.13.1
-ENV PYTHON_SHA256 9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56
RUN set -eux; \
\
@@ -79,10 +79,24 @@ RUN set -eux; \
# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0
EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(apk --print-arch)"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_alpine3.20/Dockerfile b/python_alpine3.20/Dockerfile
index 4782178..0ef6abd 100644
--- a/python_alpine3.20/Dockerfile
+++ b/python_alpine3.20/Dockerfile
@@ -17,8 +17,8 @@ RUN set -eux; \
;
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.13.1
-ENV PYTHON_SHA256 9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56
RUN set -eux; \
\
@@ -79,10 +79,24 @@ RUN set -eux; \
# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0
EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(apk --print-arch)"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_bookworm/Dockerfile b/python_bookworm/Dockerfile
index 96f6389..852f6bc 100644
--- a/python_bookworm/Dockerfile
+++ b/python_bookworm/Dockerfile
@@ -20,8 +20,8 @@ RUN set -eux; \
rm -rf /var/lib/apt/lists/*
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.13.1
-ENV PYTHON_SHA256 9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56
RUN set -eux; \
\
@@ -51,10 +51,24 @@ RUN set -eux; \
nproc="$(nproc)"; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_bullseye/Dockerfile b/python_bullseye/Dockerfile
index d1a2581..2d73736 100644
--- a/python_bullseye/Dockerfile
+++ b/python_bullseye/Dockerfile
@@ -20,8 +20,8 @@ RUN set -eux; \
rm -rf /var/lib/apt/lists/*
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.13.1
-ENV PYTHON_SHA256 9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56
RUN set -eux; \
\
@@ -51,10 +51,24 @@ RUN set -eux; \
nproc="$(nproc)"; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_slim-bullseye/Dockerfile b/python_slim-bullseye/Dockerfile
index d3a069c..14bde75 100644
--- a/python_slim-bullseye/Dockerfile
+++ b/python_slim-bullseye/Dockerfile
@@ -20,8 +20,8 @@ RUN set -eux; \
rm -rf /var/lib/apt/lists/*
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.13.1
-ENV PYTHON_SHA256 9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56
RUN set -eux; \
\
@@ -77,10 +77,24 @@ RUN set -eux; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_slim/Dockerfile b/python_slim/Dockerfile
index daba872..f97b08f 100644
--- a/python_slim/Dockerfile
+++ b/python_slim/Dockerfile
@@ -20,8 +20,8 @@ RUN set -eux; \
rm -rf /var/lib/apt/lists/*
ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
-ENV PYTHON_VERSION 3.13.1
-ENV PYTHON_SHA256 9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56
RUN set -eux; \
\
@@ -77,10 +77,24 @@ RUN set -eux; \
EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; \
LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; \
LDFLAGS="${LDFLAGS:--Wl},--strip-all"; \
+ arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
# https://docs.python.org/3.12/howto/perf_profiling.html
-# But don't enable frame-pointers on 32bit x86 due to performance drop.
# https://github.com/docker-library/python/pull/1000#issuecomment-2597021615
- test "$gnuArch" != 'i686-linux-gnu' && EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; \
+ 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:-}" \
diff --git a/python_windowsservercore-1809/Dockerfile b/python_windowsservercore-1809/Dockerfile
index 3669507..7736ce9 100644
--- a/python_windowsservercore-1809/Dockerfile
+++ b/python_windowsservercore-1809/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.1
-ENV PYTHON_SHA256 6b33fa9a439a86f553f9f60e538ccabc857d2f308bc77c477c04a46552ade81f
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 9aaa1075d0bd3e8abd0623d2d05de692ff00780579e1b232f259028bac19bb51
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/python_windowsservercore-ltsc2022/Dockerfile b/python_windowsservercore-ltsc2022/Dockerfile
index 614c653..f15b5a9 100644
--- a/python_windowsservercore-ltsc2022/Dockerfile
+++ b/python_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.1
-ENV PYTHON_SHA256 6b33fa9a439a86f553f9f60e538ccabc857d2f308bc77c477c04a46552ade81f
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 9aaa1075d0bd3e8abd0623d2d05de692ff00780579e1b232f259028bac19bb51
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/python_windowsservercore-ltsc2025/Dockerfile b/python_windowsservercore-ltsc2025/Dockerfile
index c0fa47f..3f6e7b1 100644
--- a/python_windowsservercore-ltsc2025/Dockerfile
+++ b/python_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.1
-ENV PYTHON_SHA256 6b33fa9a439a86f553f9f60e538ccabc857d2f308bc77c477c04a46552ade81f
+ENV PYTHON_VERSION 3.13.2
+ENV PYTHON_SHA256 9aaa1075d0bd3e8abd0623d2d05de692ff00780579e1b232f259028bac19bb51
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); \ Relevant Maintainers: |
tianon
approved these changes
Feb 6, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes:
arm32vX
,mips64le
,ppc64le
,riscv64
, ands390x
python#1003 from infosiftr/less-leafarm32vX
,mips64le
,ppc64le
,riscv64
, ands390x