Skip to content

Conversation

yosifkit
Copy link
Member

Changes:

Changes:

- docker-library/python@47950d2d: Merge pull request docker-library/python#1042 from infosiftr/trixie
- docker-library/python@093598a0: Add Debian Trixie (and remove Bullseye)
- docker-library/python@ff4d235f: Update 3.10 to setuptools 65.5.1
- docker-library/python@f8da2ae7: Update 3.10 to setuptools 56.0.0
Copy link

Diff for 47a7ce0:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 8dd8865..a06ae2e 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -13,149 +13,149 @@ GitCommit: 059df87446003f462a05aed0cff9b884da0b6874
 Directory: 3.9/alpine3.22
 
 Tags: 3.9.23-bookworm, 3.9-bookworm
-SharedTags: 3.9.23, 3.9
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
 GitCommit: 059df87446003f462a05aed0cff9b884da0b6874
 Directory: 3.9/bookworm
 
-Tags: 3.9.23-bullseye, 3.9-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 059df87446003f462a05aed0cff9b884da0b6874
-Directory: 3.9/bullseye
-
-Tags: 3.9.23-slim-bookworm, 3.9-slim-bookworm, 3.9.23-slim, 3.9-slim
+Tags: 3.9.23-slim-bookworm, 3.9-slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 059df87446003f462a05aed0cff9b884da0b6874
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.9/slim-bookworm
 
-Tags: 3.9.23-slim-bullseye, 3.9-slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 059df87446003f462a05aed0cff9b884da0b6874
-Directory: 3.9/slim-bullseye
+Tags: 3.9.23-slim-trixie, 3.9-slim-trixie, 3.9.23-slim, 3.9-slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.9/slim-trixie
+
+Tags: 3.9.23-trixie, 3.9-trixie
+SharedTags: 3.9.23, 3.9
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.9/trixie
 
 Tags: 3.10.18-alpine3.21, 3.10-alpine3.21
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
-GitCommit: cfb3eae801211d2ada389efa034d248147fd8775
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.10/alpine3.21
 
 Tags: 3.10.18-alpine3.22, 3.10-alpine3.22, 3.10.18-alpine, 3.10-alpine
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
-GitCommit: cfb3eae801211d2ada389efa034d248147fd8775
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.10/alpine3.22
 
 Tags: 3.10.18-bookworm, 3.10-bookworm
-SharedTags: 3.10.18, 3.10
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: cfb3eae801211d2ada389efa034d248147fd8775
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.10/bookworm
 
-Tags: 3.10.18-bullseye, 3.10-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: cfb3eae801211d2ada389efa034d248147fd8775
-Directory: 3.10/bullseye
-
-Tags: 3.10.18-slim-bookworm, 3.10-slim-bookworm, 3.10.18-slim, 3.10-slim
+Tags: 3.10.18-slim-bookworm, 3.10-slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: cfb3eae801211d2ada389efa034d248147fd8775
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.10/slim-bookworm
 
-Tags: 3.10.18-slim-bullseye, 3.10-slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: cfb3eae801211d2ada389efa034d248147fd8775
-Directory: 3.10/slim-bullseye
+Tags: 3.10.18-slim-trixie, 3.10-slim-trixie, 3.10.18-slim, 3.10-slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.10/slim-trixie
+
+Tags: 3.10.18-trixie, 3.10-trixie
+SharedTags: 3.10.18, 3.10
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.10/trixie
 
 Tags: 3.11.13-alpine3.21, 3.11-alpine3.21
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
-GitCommit: 14b61451ec7c172cf1d43d8e7859335459fcd344
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.11/alpine3.21
 
 Tags: 3.11.13-alpine3.22, 3.11-alpine3.22, 3.11.13-alpine, 3.11-alpine
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
-GitCommit: 14b61451ec7c172cf1d43d8e7859335459fcd344
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.11/alpine3.22
 
 Tags: 3.11.13-bookworm, 3.11-bookworm
-SharedTags: 3.11.13, 3.11
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 14b61451ec7c172cf1d43d8e7859335459fcd344
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.11/bookworm
 
-Tags: 3.11.13-bullseye, 3.11-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 14b61451ec7c172cf1d43d8e7859335459fcd344
-Directory: 3.11/bullseye
-
-Tags: 3.11.13-slim-bookworm, 3.11-slim-bookworm, 3.11.13-slim, 3.11-slim
+Tags: 3.11.13-slim-bookworm, 3.11-slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 14b61451ec7c172cf1d43d8e7859335459fcd344
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.11/slim-bookworm
 
-Tags: 3.11.13-slim-bullseye, 3.11-slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 14b61451ec7c172cf1d43d8e7859335459fcd344
-Directory: 3.11/slim-bullseye
+Tags: 3.11.13-slim-trixie, 3.11-slim-trixie, 3.11.13-slim, 3.11-slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.11/slim-trixie
+
+Tags: 3.11.13-trixie, 3.11-trixie
+SharedTags: 3.11.13, 3.11
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.11/trixie
 
 Tags: 3.12.11-alpine3.21, 3.12-alpine3.21
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
-GitCommit: a25c9ad64fe168fb619fea7247b17189d441b988
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.12/alpine3.21
 
 Tags: 3.12.11-alpine3.22, 3.12-alpine3.22, 3.12.11-alpine, 3.12-alpine
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
-GitCommit: a25c9ad64fe168fb619fea7247b17189d441b988
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.12/alpine3.22
 
 Tags: 3.12.11-bookworm, 3.12-bookworm
-SharedTags: 3.12.11, 3.12
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: a25c9ad64fe168fb619fea7247b17189d441b988
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.12/bookworm
 
-Tags: 3.12.11-bullseye, 3.12-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: a25c9ad64fe168fb619fea7247b17189d441b988
-Directory: 3.12/bullseye
-
-Tags: 3.12.11-slim-bookworm, 3.12-slim-bookworm, 3.12.11-slim, 3.12-slim
+Tags: 3.12.11-slim-bookworm, 3.12-slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: a25c9ad64fe168fb619fea7247b17189d441b988
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.12/slim-bookworm
 
-Tags: 3.12.11-slim-bullseye, 3.12-slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: a25c9ad64fe168fb619fea7247b17189d441b988
-Directory: 3.12/slim-bullseye
+Tags: 3.12.11-slim-trixie, 3.12-slim-trixie, 3.12.11-slim, 3.12-slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.12/slim-trixie
+
+Tags: 3.12.11-trixie, 3.12-trixie
+SharedTags: 3.12.11, 3.12
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.12/trixie
 
 Tags: 3.13.6-alpine3.21, 3.13-alpine3.21, 3-alpine3.21, alpine3.21
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
-GitCommit: 0ab3fcf3e8e0083138c80eea5b95a64324f35c4e
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.13/alpine3.21
 
 Tags: 3.13.6-alpine3.22, 3.13-alpine3.22, 3-alpine3.22, alpine3.22, 3.13.6-alpine, 3.13-alpine, 3-alpine, alpine
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
-GitCommit: 0ab3fcf3e8e0083138c80eea5b95a64324f35c4e
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.13/alpine3.22
 
 Tags: 3.13.6-bookworm, 3.13-bookworm, 3-bookworm, bookworm
-SharedTags: 3.13.6, 3.13, 3, latest
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 0ab3fcf3e8e0083138c80eea5b95a64324f35c4e
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.13/bookworm
 
-Tags: 3.13.6-bullseye, 3.13-bullseye, 3-bullseye, bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 0ab3fcf3e8e0083138c80eea5b95a64324f35c4e
-Directory: 3.13/bullseye
-
-Tags: 3.13.6-slim-bookworm, 3.13-slim-bookworm, 3-slim-bookworm, slim-bookworm, 3.13.6-slim, 3.13-slim, 3-slim, slim
+Tags: 3.13.6-slim-bookworm, 3.13-slim-bookworm, 3-slim-bookworm, slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 0ab3fcf3e8e0083138c80eea5b95a64324f35c4e
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.13/slim-bookworm
 
-Tags: 3.13.6-slim-bullseye, 3.13-slim-bullseye, 3-slim-bullseye, slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 0ab3fcf3e8e0083138c80eea5b95a64324f35c4e
-Directory: 3.13/slim-bullseye
+Tags: 3.13.6-slim-trixie, 3.13-slim-trixie, 3-slim-trixie, slim-trixie, 3.13.6-slim, 3.13-slim, 3-slim, slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.13/slim-trixie
+
+Tags: 3.13.6-trixie, 3.13-trixie, 3-trixie, trixie
+SharedTags: 3.13.6, 3.13, 3, latest
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.13/trixie
 
 Tags: 3.13.6-windowsservercore-ltsc2022, 3.13-windowsservercore-ltsc2022, 3-windowsservercore-ltsc2022, windowsservercore-ltsc2022
 SharedTags: 3.13.6-windowsservercore, 3.13-windowsservercore, 3-windowsservercore, windowsservercore, 3.13.6, 3.13, 3, latest
@@ -175,34 +175,34 @@ Constraints: windowsservercore-ltsc2025
 
 Tags: 3.14.0rc1-alpine3.21, 3.14-rc-alpine3.21
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64
-GitCommit: 3e03c7f85109a1fa9c3e830d513e38980de80fbd
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.14-rc/alpine3.21
 
 Tags: 3.14.0rc1-alpine3.22, 3.14-rc-alpine3.22, 3.14.0rc1-alpine, 3.14-rc-alpine
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64
-GitCommit: 3e03c7f85109a1fa9c3e830d513e38980de80fbd
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.14-rc/alpine3.22
 
 Tags: 3.14.0rc1-bookworm, 3.14-rc-bookworm
-SharedTags: 3.14.0rc1, 3.14-rc
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 3e03c7f85109a1fa9c3e830d513e38980de80fbd
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.14-rc/bookworm
 
-Tags: 3.14.0rc1-bullseye, 3.14-rc-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 3e03c7f85109a1fa9c3e830d513e38980de80fbd
-Directory: 3.14-rc/bullseye
-
-Tags: 3.14.0rc1-slim-bookworm, 3.14-rc-slim-bookworm, 3.14.0rc1-slim, 3.14-rc-slim
+Tags: 3.14.0rc1-slim-bookworm, 3.14-rc-slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 3e03c7f85109a1fa9c3e830d513e38980de80fbd
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
 Directory: 3.14-rc/slim-bookworm
 
-Tags: 3.14.0rc1-slim-bullseye, 3.14-rc-slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 3e03c7f85109a1fa9c3e830d513e38980de80fbd
-Directory: 3.14-rc/slim-bullseye
+Tags: 3.14.0rc1-slim-trixie, 3.14-rc-slim-trixie, 3.14.0rc1-slim, 3.14-rc-slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.14-rc/slim-trixie
+
+Tags: 3.14.0rc1-trixie, 3.14-rc-trixie
+SharedTags: 3.14.0rc1, 3.14-rc
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 093598a0190ba9074b899d6a0a21a00c859aac56
+Directory: 3.14-rc/trixie
 
 Tags: 3.14.0rc1-windowsservercore-ltsc2022, 3.14-rc-windowsservercore-ltsc2022
 SharedTags: 3.14.0rc1-windowsservercore, 3.14-rc-windowsservercore, 3.14.0rc1, 3.14-rc
diff --git a/_bashbrew-list b/_bashbrew-list
index 4d0bac6..68197a2 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -3,10 +3,10 @@ python:3-alpine
 python:3-alpine3.21
 python:3-alpine3.22
 python:3-bookworm
-python:3-bullseye
 python:3-slim
 python:3-slim-bookworm
-python:3-slim-bullseye
+python:3-slim-trixie
+python:3-trixie
 python:3-windowsservercore
 python:3-windowsservercore-ltsc2022
 python:3-windowsservercore-ltsc2025
@@ -15,82 +15,82 @@ python:3.9-alpine
 python:3.9-alpine3.21
 python:3.9-alpine3.22
 python:3.9-bookworm
-python:3.9-bullseye
 python:3.9-slim
 python:3.9-slim-bookworm
-python:3.9-slim-bullseye
+python:3.9-slim-trixie
+python:3.9-trixie
 python:3.9.23
 python:3.9.23-alpine
 python:3.9.23-alpine3.21
 python:3.9.23-alpine3.22
 python:3.9.23-bookworm
-python:3.9.23-bullseye
 python:3.9.23-slim
 python:3.9.23-slim-bookworm
-python:3.9.23-slim-bullseye
+python:3.9.23-slim-trixie
+python:3.9.23-trixie
 python:3.10
 python:3.10-alpine
 python:3.10-alpine3.21
 python:3.10-alpine3.22
 python:3.10-bookworm
-python:3.10-bullseye
 python:3.10-slim
 python:3.10-slim-bookworm
-python:3.10-slim-bullseye
+python:3.10-slim-trixie
+python:3.10-trixie
 python:3.10.18
 python:3.10.18-alpine
 python:3.10.18-alpine3.21
 python:3.10.18-alpine3.22
 python:3.10.18-bookworm
-python:3.10.18-bullseye
 python:3.10.18-slim
 python:3.10.18-slim-bookworm
-python:3.10.18-slim-bullseye
+python:3.10.18-slim-trixie
+python:3.10.18-trixie
 python:3.11
 python:3.11-alpine
 python:3.11-alpine3.21
 python:3.11-alpine3.22
 python:3.11-bookworm
-python:3.11-bullseye
 python:3.11-slim
 python:3.11-slim-bookworm
-python:3.11-slim-bullseye
+python:3.11-slim-trixie
+python:3.11-trixie
 python:3.11.13
 python:3.11.13-alpine
 python:3.11.13-alpine3.21
 python:3.11.13-alpine3.22
 python:3.11.13-bookworm
-python:3.11.13-bullseye
 python:3.11.13-slim
 python:3.11.13-slim-bookworm
-python:3.11.13-slim-bullseye
+python:3.11.13-slim-trixie
+python:3.11.13-trixie
 python:3.12
 python:3.12-alpine
 python:3.12-alpine3.21
 python:3.12-alpine3.22
 python:3.12-bookworm
-python:3.12-bullseye
 python:3.12-slim
 python:3.12-slim-bookworm
-python:3.12-slim-bullseye
+python:3.12-slim-trixie
+python:3.12-trixie
 python:3.12.11
 python:3.12.11-alpine
 python:3.12.11-alpine3.21
 python:3.12.11-alpine3.22
 python:3.12.11-bookworm
-python:3.12.11-bullseye
 python:3.12.11-slim
 python:3.12.11-slim-bookworm
-python:3.12.11-slim-bullseye
+python:3.12.11-slim-trixie
+python:3.12.11-trixie
 python:3.13
 python:3.13-alpine
 python:3.13-alpine3.21
 python:3.13-alpine3.22
 python:3.13-bookworm
-python:3.13-bullseye
 python:3.13-slim
 python:3.13-slim-bookworm
-python:3.13-slim-bullseye
+python:3.13-slim-trixie
+python:3.13-trixie
 python:3.13-windowsservercore
 python:3.13-windowsservercore-ltsc2022
 python:3.13-windowsservercore-ltsc2025
@@ -99,10 +99,10 @@ python:3.13.6-alpine
 python:3.13.6-alpine3.21
 python:3.13.6-alpine3.22
 python:3.13.6-bookworm
-python:3.13.6-bullseye
 python:3.13.6-slim
 python:3.13.6-slim-bookworm
-python:3.13.6-slim-bullseye
+python:3.13.6-slim-trixie
+python:3.13.6-trixie
 python:3.13.6-windowsservercore
 python:3.13.6-windowsservercore-ltsc2022
 python:3.13.6-windowsservercore-ltsc2025
@@ -111,10 +111,10 @@ python:3.14-rc-alpine
 python:3.14-rc-alpine3.21
 python:3.14-rc-alpine3.22
 python:3.14-rc-bookworm
-python:3.14-rc-bullseye
 python:3.14-rc-slim
 python:3.14-rc-slim-bookworm
-python:3.14-rc-slim-bullseye
+python:3.14-rc-slim-trixie
+python:3.14-rc-trixie
 python:3.14-rc-windowsservercore
 python:3.14-rc-windowsservercore-ltsc2022
 python:3.14-rc-windowsservercore-ltsc2025
@@ -123,10 +123,10 @@ python:3.14.0rc1-alpine
 python:3.14.0rc1-alpine3.21
 python:3.14.0rc1-alpine3.22
 python:3.14.0rc1-bookworm
-python:3.14.0rc1-bullseye
 python:3.14.0rc1-slim
 python:3.14.0rc1-slim-bookworm
-python:3.14.0rc1-slim-bullseye
+python:3.14.0rc1-slim-trixie
+python:3.14.0rc1-trixie
 python:3.14.0rc1-windowsservercore
 python:3.14.0rc1-windowsservercore-ltsc2022
 python:3.14.0rc1-windowsservercore-ltsc2025
@@ -134,11 +134,11 @@ python:alpine
 python:alpine3.21
 python:alpine3.22
 python:bookworm
-python:bullseye
 python:latest
 python:slim
 python:slim-bookworm
-python:slim-bullseye
+python:slim-trixie
+python:trixie
 python:windowsservercore
 python:windowsservercore-ltsc2022
 python:windowsservercore-ltsc2025
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index 74b0125..50b14ea 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -1,40 +1,40 @@
 python:3.9-alpine
 python:3.9-alpine3.21
 python:3.9-bookworm
-python:3.9-bullseye
 python:3.9-slim
-python:3.9-slim-bullseye
+python:3.9-slim-bookworm
+python:3.9-trixie
 python:3.10-alpine
 python:3.10-alpine3.21
 python:3.10-bookworm
-python:3.10-bullseye
 python:3.10-slim
-python:3.10-slim-bullseye
+python:3.10-slim-bookworm
+python:3.10-trixie
 python:3.11-alpine
 python:3.11-alpine3.21
 python:3.11-bookworm
-python:3.11-bullseye
 python:3.11-slim
-python:3.11-slim-bullseye
+python:3.11-slim-bookworm
+python:3.11-trixie
 python:3.12-alpine
 python:3.12-alpine3.21
 python:3.12-bookworm
-python:3.12-bullseye
 python:3.12-slim
-python:3.12-slim-bullseye
+python:3.12-slim-bookworm
+python:3.12-trixie
 python:3.14-rc-alpine
 python:3.14-rc-alpine3.21
 python:3.14-rc-bookworm
-python:3.14-rc-bullseye
 python:3.14-rc-slim
-python:3.14-rc-slim-bullseye
+python:3.14-rc-slim-bookworm
+python:3.14-rc-trixie
 python:3.14-rc-windowsservercore-ltsc2022
 python:3.14-rc-windowsservercore-ltsc2025
 python:alpine
 python:alpine3.21
 python:bookworm
-python:bullseye
 python:slim
-python:slim-bullseye
+python:slim-bookworm
+python:trixie
 python:windowsservercore-ltsc2022
 python:windowsservercore-ltsc2025
diff --git a/python_3.10-alpine/Dockerfile b/python_3.10-alpine/Dockerfile
index b91541a..5825dfc 100644
--- a/python_3.10-alpine/Dockerfile
+++ b/python_3.10-alpine/Dockerfile
@@ -76,7 +76,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.10-alpine3.21/Dockerfile b/python_3.10-alpine3.21/Dockerfile
index 6cc036e..a3ec54a 100644
--- a/python_3.10-alpine3.21/Dockerfile
+++ b/python_3.10-alpine3.21/Dockerfile
@@ -76,7 +76,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.10-bookworm/Dockerfile b/python_3.10-bookworm/Dockerfile
index 26a7c16..ec5fb35 100644
--- a/python_3.10-bookworm/Dockerfile
+++ b/python_3.10-bookworm/Dockerfile
@@ -50,7 +50,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.10-slim-bullseye/Dockerfile b/python_3.10-slim-bookworm/Dockerfile
similarity index 92%
rename from python_3.10-slim-bullseye/Dockerfile
rename to python_3.10-slim-bookworm/Dockerfile
index 6d6aa7f..a947bef 100644
--- a/python_3.10-slim-bullseye/Dockerfile
+++ b/python_3.10-slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -75,7 +75,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -113,8 +113,9 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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 \
 	; \
diff --git a/python_3.10-slim/Dockerfile b/python_3.10-slim/Dockerfile
index 49411c8..1077d95 100644
--- a/python_3.10-slim/Dockerfile
+++ b/python_3.10-slim/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -22,7 +22,7 @@ RUN set -eux; \
 		netbase \
 		tzdata \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D
 ENV PYTHON_VERSION 3.10.18
@@ -75,7 +75,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -113,13 +113,14 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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/*; \
+	apt-get dist-clean; \
 	\
 	export PYTHONDONTWRITEBYTECODE=1; \
 	python3 --version; \
diff --git a/python_3.10-bullseye/Dockerfile b/python_3.10-trixie/Dockerfile
similarity index 96%
rename from python_3.10-bullseye/Dockerfile
rename to python_3.10-trixie/Dockerfile
index 965b099..4161474 100644
--- a/python_3.10-bullseye/Dockerfile
+++ b/python_3.10-trixie/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:trixie
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -22,7 +22,7 @@ RUN set -eux; \
 		tk-dev \
 		uuid-dev \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D
 ENV PYTHON_VERSION 3.10.18
@@ -50,7 +50,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.11-alpine/Dockerfile b/python_3.11-alpine/Dockerfile
index 954cf29..c1680e4 100644
--- a/python_3.11-alpine/Dockerfile
+++ b/python_3.11-alpine/Dockerfile
@@ -76,7 +76,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.11-alpine3.21/Dockerfile b/python_3.11-alpine3.21/Dockerfile
index a164244..078086c 100644
--- a/python_3.11-alpine3.21/Dockerfile
+++ b/python_3.11-alpine3.21/Dockerfile
@@ -76,7 +76,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.11-bookworm/Dockerfile b/python_3.11-bookworm/Dockerfile
index 68c68de..6f09b8e 100644
--- a/python_3.11-bookworm/Dockerfile
+++ b/python_3.11-bookworm/Dockerfile
@@ -50,7 +50,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.11-slim-bullseye/Dockerfile b/python_3.11-slim-bookworm/Dockerfile
similarity index 92%
rename from python_3.11-slim-bullseye/Dockerfile
rename to python_3.11-slim-bookworm/Dockerfile
index 5f64e97..1bdaf31 100644
--- a/python_3.11-slim-bullseye/Dockerfile
+++ b/python_3.11-slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -75,7 +75,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -113,8 +113,9 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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 \
 	; \
diff --git a/python_3.11-slim/Dockerfile b/python_3.11-slim/Dockerfile
index a253872..7c6f288 100644
--- a/python_3.11-slim/Dockerfile
+++ b/python_3.11-slim/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -22,7 +22,7 @@ RUN set -eux; \
 		netbase \
 		tzdata \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D
 ENV PYTHON_VERSION 3.11.13
@@ -75,7 +75,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -113,13 +113,14 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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/*; \
+	apt-get dist-clean; \
 	\
 	export PYTHONDONTWRITEBYTECODE=1; \
 	python3 --version; \
diff --git a/python_3.11-bullseye/Dockerfile b/python_3.11-trixie/Dockerfile
similarity index 96%
rename from python_3.11-bullseye/Dockerfile
rename to python_3.11-trixie/Dockerfile
index 1e1f136..a9a3d76 100644
--- a/python_3.11-bullseye/Dockerfile
+++ b/python_3.11-trixie/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:trixie
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -22,7 +22,7 @@ RUN set -eux; \
 		tk-dev \
 		uuid-dev \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY A035C8C19219BA821ECEA86B64E628F8D684696D
 ENV PYTHON_VERSION 3.11.13
@@ -50,7 +50,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.12-alpine/Dockerfile b/python_3.12-alpine/Dockerfile
index e934693..bef8c19 100644
--- a/python_3.12-alpine/Dockerfile
+++ b/python_3.12-alpine/Dockerfile
@@ -76,7 +76,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.12-alpine3.21/Dockerfile b/python_3.12-alpine3.21/Dockerfile
index dc716a3..b4a1f55 100644
--- a/python_3.12-alpine3.21/Dockerfile
+++ b/python_3.12-alpine3.21/Dockerfile
@@ -76,7 +76,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.12-bookworm/Dockerfile b/python_3.12-bookworm/Dockerfile
index 6e1d059..78869e6 100644
--- a/python_3.12-bookworm/Dockerfile
+++ b/python_3.12-bookworm/Dockerfile
@@ -50,7 +50,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.12-slim-bullseye/Dockerfile b/python_3.12-slim-bookworm/Dockerfile
similarity index 93%
rename from python_3.12-slim-bullseye/Dockerfile
rename to python_3.12-slim-bookworm/Dockerfile
index 5dd6eb9..e8d80c6 100644
--- a/python_3.12-slim-bullseye/Dockerfile
+++ b/python_3.12-slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -75,7 +75,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -131,8 +131,9 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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 \
 	; \
diff --git a/python_3.12-slim/Dockerfile b/python_3.12-slim/Dockerfile
index 17d0d48..e1aac06 100644
--- a/python_3.12-slim/Dockerfile
+++ b/python_3.12-slim/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -22,7 +22,7 @@ RUN set -eux; \
 		netbase \
 		tzdata \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
 ENV PYTHON_VERSION 3.12.11
@@ -75,7 +75,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -131,13 +131,14 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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/*; \
+	apt-get dist-clean; \
 	\
 	export PYTHONDONTWRITEBYTECODE=1; \
 	python3 --version; \
diff --git a/python_3.12-bullseye/Dockerfile b/python_3.12-trixie/Dockerfile
similarity index 96%
rename from python_3.12-bullseye/Dockerfile
rename to python_3.12-trixie/Dockerfile
index b50a5ca..70b55a1 100644
--- a/python_3.12-bullseye/Dockerfile
+++ b/python_3.12-trixie/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:trixie
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -22,7 +22,7 @@ RUN set -eux; \
 		tk-dev \
 		uuid-dev \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
 ENV PYTHON_VERSION 3.12.11
@@ -50,7 +50,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.14-rc-alpine/Dockerfile b/python_3.14-rc-alpine/Dockerfile
index ef103bd..143ab89 100644
--- a/python_3.14-rc-alpine/Dockerfile
+++ b/python_3.14-rc-alpine/Dockerfile
@@ -64,7 +64,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.14-rc-alpine3.21/Dockerfile b/python_3.14-rc-alpine3.21/Dockerfile
index e9510c6..c6b8edc 100644
--- a/python_3.14-rc-alpine3.21/Dockerfile
+++ b/python_3.14-rc-alpine3.21/Dockerfile
@@ -64,7 +64,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.14-rc-bookworm/Dockerfile b/python_3.14-rc-bookworm/Dockerfile
index c8d7da3..b19131b 100644
--- a/python_3.14-rc-bookworm/Dockerfile
+++ b/python_3.14-rc-bookworm/Dockerfile
@@ -38,7 +38,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.14-rc-slim-bullseye/Dockerfile b/python_3.14-rc-slim-bookworm/Dockerfile
similarity index 92%
rename from python_3.14-rc-slim-bullseye/Dockerfile
rename to python_3.14-rc-slim-bookworm/Dockerfile
index 5b2a75c..a2638d1 100644
--- a/python_3.14-rc-slim-bullseye/Dockerfile
+++ b/python_3.14-rc-slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -63,7 +63,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -119,8 +119,9 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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 \
 	; \
diff --git a/python_3.14-rc-slim/Dockerfile b/python_3.14-rc-slim/Dockerfile
index 6e2a62d..61535e1 100644
--- a/python_3.14-rc-slim/Dockerfile
+++ b/python_3.14-rc-slim/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -17,7 +17,7 @@ RUN set -eux; \
 		netbase \
 		tzdata \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV PYTHON_VERSION 3.14.0rc1
 ENV PYTHON_SHA256 8707780ae9f19c5bf5b9f27827181ba11cdad7bb292ea49cad5424331e40ee8b
@@ -63,7 +63,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -119,13 +119,14 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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/*; \
+	apt-get dist-clean; \
 	\
 	export PYTHONDONTWRITEBYTECODE=1; \
 	python3 --version; \
diff --git a/python_3.14-rc-bullseye/Dockerfile b/python_3.14-rc-trixie/Dockerfile
similarity index 96%
rename from python_3.14-rc-bullseye/Dockerfile
rename to python_3.14-rc-trixie/Dockerfile
index f62830c..1c9eaf2 100644
--- a/python_3.14-rc-bullseye/Dockerfile
+++ b/python_3.14-rc-trixie/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:trixie
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -17,7 +17,7 @@ RUN set -eux; \
 		tk-dev \
 		uuid-dev \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV PYTHON_VERSION 3.14.0rc1
 ENV PYTHON_SHA256 8707780ae9f19c5bf5b9f27827181ba11cdad7bb292ea49cad5424331e40ee8b
@@ -38,7 +38,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_3.9-slim-bullseye/Dockerfile b/python_3.9-slim-bookworm/Dockerfile
similarity index 93%
rename from python_3.9-slim-bullseye/Dockerfile
rename to python_3.9-slim-bookworm/Dockerfile
index 27ecb5b..ffd7ab6 100644
--- a/python_3.9-slim-bullseye/Dockerfile
+++ b/python_3.9-slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -112,8 +112,9 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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 \
 	; \
diff --git a/python_3.9-slim/Dockerfile b/python_3.9-slim/Dockerfile
index c79cc60..62aee2c 100644
--- a/python_3.9-slim/Dockerfile
+++ b/python_3.9-slim/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -22,7 +22,7 @@ RUN set -eux; \
 		netbase \
 		tzdata \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568
 ENV PYTHON_VERSION 3.9.23
@@ -112,13 +112,14 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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/*; \
+	apt-get dist-clean; \
 	\
 	export PYTHONDONTWRITEBYTECODE=1; \
 	python3 --version; \
diff --git a/python_3.9-bullseye/Dockerfile b/python_3.9-trixie/Dockerfile
similarity index 98%
rename from python_3.9-bullseye/Dockerfile
rename to python_3.9-trixie/Dockerfile
index 93ee708..7aa7aa3 100644
--- a/python_3.9-bullseye/Dockerfile
+++ b/python_3.9-trixie/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:trixie
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -22,7 +22,7 @@ RUN set -eux; \
 		tk-dev \
 		uuid-dev \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568
 ENV PYTHON_VERSION 3.9.23
diff --git a/python_alpine/Dockerfile b/python_alpine/Dockerfile
index 37a52f2..37fa3f8 100644
--- a/python_alpine/Dockerfile
+++ b/python_alpine/Dockerfile
@@ -71,7 +71,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_alpine3.21/Dockerfile b/python_alpine3.21/Dockerfile
index 565ee5e..2caf2fc 100644
--- a/python_alpine3.21/Dockerfile
+++ b/python_alpine3.21/Dockerfile
@@ -71,7 +71,7 @@ RUN set -eux; \
 		--enable-loadable-sqlite-extensions \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_bookworm/Dockerfile b/python_bookworm/Dockerfile
index 6f73403..2f128eb 100644
--- a/python_bookworm/Dockerfile
+++ b/python_bookworm/Dockerfile
@@ -45,7 +45,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
diff --git a/python_slim-bullseye/Dockerfile b/python_slim-bookworm/Dockerfile
similarity index 92%
rename from python_slim-bullseye/Dockerfile
rename to python_slim-bookworm/Dockerfile
index e0e9cda..7bd8b31 100644
--- a/python_slim-bullseye/Dockerfile
+++ b/python_slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -70,7 +70,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -126,8 +126,9 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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 \
 	; \
diff --git a/python_slim/Dockerfile b/python_slim/Dockerfile
index 486158a..6da9538 100644
--- a/python_slim/Dockerfile
+++ b/python_slim/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -17,7 +17,7 @@ RUN set -eux; \
 		netbase \
 		tzdata \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
 ENV PYTHON_VERSION 3.13.6
@@ -70,7 +70,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \
@@ -126,13 +126,14 @@ RUN set -eux; \
 	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 -r dpkg-query --search \
-		| cut -d: -f1 \
+		| 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/*; \
+	apt-get dist-clean; \
 	\
 	export PYTHONDONTWRITEBYTECODE=1; \
 	python3 --version; \
diff --git a/python_bullseye/Dockerfile b/python_trixie/Dockerfile
similarity index 96%
rename from python_bullseye/Dockerfile
rename to python_trixie/Dockerfile
index 4dfa8bf..3aa72cd 100644
--- a/python_bullseye/Dockerfile
+++ b/python_trixie/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:trixie
 
 # ensure local python is preferred over distribution python
 ENV PATH /usr/local/bin:$PATH
@@ -17,7 +17,7 @@ RUN set -eux; \
 		tk-dev \
 		uuid-dev \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 ENV GPG_KEY 7169605F62C751356D054A26A821E680E5FA6305
 ENV PYTHON_VERSION 3.13.6
@@ -45,7 +45,7 @@ RUN set -eux; \
 		--enable-optimizations \
 		--enable-option-checking=fatal \
 		--enable-shared \
-		$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
+		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') \
 		--with-ensurepip \
 	; \
 	nproc="$(nproc)"; \

Relevant Maintainers:

Copy link
Member

@tianon tianon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tianon tianon merged commit 8a5de59 into docker-library:master Aug 12, 2025
45 checks passed
@tianon tianon deleted the python branch August 12, 2025 22:07
@tianon
Copy link
Member

tianon commented Aug 18, 2025

FYI affected maintainers for the python:bullseye EOL/removal:

Please either drop the affected tags from the supported list (by removing them from your library/ file) or update them to a supported release.

Muscraft pushed a commit to Muscraft/official-images that referenced this pull request Aug 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants