Skip to content

Add Debian Trixie (and remove Bullseye) #1042

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

Merged
merged 1 commit into from
Aug 11, 2025

Conversation

tianon
Copy link
Member

@tianon tianon commented May 19, 2025

Closes #1041
Fixes #926

@tianon tianon marked this pull request as draft May 19, 2025 23:26
@tianon
Copy link
Member Author

tianon commented May 19, 2025

Opening to verify compilation -- we do not plan to support Debian Trixie officially until it is GA / released.

@tianon tianon mentioned this pull request May 19, 2025
@tianon
Copy link
Member Author

tianon commented May 19, 2025

oof, running into #926 (comment) -- not sure why that's persisted into the official builds this long 😕

@tianon
Copy link
Member Author

tianon commented May 20, 2025

$ dpkg-query --search '*lib/x86_64-linux-gnu/libbz2.so.1.0' '*lib/x86_64-linux-gnu/libc.so.6' '*lib/x86_64-linux-gnu/libcrypto.so.3' '*lib/x86_64-linux-gnu/libdb-5.3.so' '*lib/x86_64-linux-gnu/libffi.so.8' '*lib/x86_64-linux-gnu/libgdbm.so.6' '*lib/x86_64-linux-gnu/liblzma.so.5' '*lib/x86_64-linux-gnu/libm.so.6' '*lib/x86_64-linux-gnu/libncursesw.so.6' '*lib/x86_64-linux-gnu/libpanelw.so.6' '*lib/x86_64-linux-gnu/libreadline.so.8' '*lib/x86_64-linux-gnu/libsqlite3.so.0' '*lib/x86_64-linux-gnu/libssl.so.3' '*lib/x86_64-linux-gnu/libtinfo.so.6' '*lib/x86_64-linux-gnu/libuuid.so.1' '*lib/x86_64-linux-gnu/libz.so.1' '*lib/x86_64-linux-gnu/libzstd.so.1'
libbz2-1.0:amd64: /usr/lib/x86_64-linux-gnu/libbz2.so.1.0
libc6:amd64: /usr/lib/x86_64-linux-gnu/libc.so.6
libssl3t64:amd64: /usr/lib/x86_64-linux-gnu/libcrypto.so.3
libdb5.3t64:amd64: /usr/lib/x86_64-linux-gnu/libdb-5.3.so
libffi8:amd64: /usr/lib/x86_64-linux-gnu/libffi.so.8
libgdbm6t64:amd64: /usr/lib/x86_64-linux-gnu/libgdbm.so.6
liblzma5:amd64: /usr/lib/x86_64-linux-gnu/liblzma.so.5
libc6:amd64: /usr/lib/x86_64-linux-gnu/libm.so.6
libncursesw6:amd64: /usr/lib/x86_64-linux-gnu/libncursesw.so.6
libncursesw6:amd64: /usr/lib/x86_64-linux-gnu/libpanelw.so.6
diversion by libreadline8t64 from: /lib/x86_64-linux-gnu/libreadline.so.8
diversion by libreadline8t64 to: /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged
libreadline8t64:amd64: /usr/lib/x86_64-linux-gnu/libreadline.so.8
libsqlite3-0:amd64: /usr/lib/x86_64-linux-gnu/libsqlite3.so.0
libssl3t64:amd64: /usr/lib/x86_64-linux-gnu/libssl.so.3
libtinfo6:amd64: /usr/lib/x86_64-linux-gnu/libtinfo.so.6
libuuid1:amd64: /usr/lib/x86_64-linux-gnu/libuuid.so.1
zlib1g:amd64: /usr/lib/x86_64-linux-gnu/libz.so.1
libzstd1:amd64: /usr/lib/x86_64-linux-gnu/libzstd.so.1

@daveisfera
Copy link

Opening to verify compilation -- we do not plan to support Debian Trixie officially until it is GA / released.

GA for Trixie is probably weeks or months away, so would be great to get this out sooner for testing.

@tianon
Copy link
Member Author

tianon commented May 20, 2025

Debian Bookworm hit "Hard Freeze" on 2023-03-12, "Full Freeze" on 2023-05-24, and wasn't GA until 2023-06-10, so I do think we've got a ways yet. We should absolutely fix the failures in this PR, and plan to, but we do not plan to officially release/support a non-GA version of Debian officially (especially since it's not officially supported by the Debian Security Team until GA).

Once it's building successfully, you'll be able to use something like docker buildx build --pull https://github.com/docker-library/python.git#refs/pull/1042/merge:3.13/slim-trixie to test this sooner.

@daveisfera
Copy link

Debian Bookworm hit "Hard Freeze" on 2023-03-12, "Full Freeze" on 2023-05-24, and wasn't GA until 2023-06-10, so I do think we've got a ways yet. We should absolutely fix the failures in this PR, and plan to, but we do not plan to officially release/support a non-GA version of Debian officially (especially since it's not officially supported by the Debian Security Team until GA).

If that same timing happens, then we're still 2-3 months from the release. Would love to start testing before that so feedback on any issues can be given to Python and Debian upstream.

Once it's building successfully, you'll be able to use something like docker buildx build --pull https://github.com/docker-library/python.git#refs/pull/1042/merge:3.13/slim-trixie to test this sooner.

That means it would have to be built/tested locally. I was hoping to be able to run it through standard CI and deployed testing environments.

@tianon
Copy link
Member Author

tianon commented May 20, 2025

$ dpkg-query --search '*lib/x86_64-linux-gnu/libbz2.so.1.0' '*lib/x86_64-linux-gnu/libc.so.6' '*lib/x86_64-linux-gnu/libcrypto.so.3' '*lib/x86_64-linux-gnu/libdb-5.3.so' '*lib/x86_64-linux-gnu/libffi.so.8' '*lib/x86_64-linux-gnu/libgdbm.so.6' '*lib/x86_64-linux-gnu/liblzma.so.5' '*lib/x86_64-linux-gnu/libm.so.6' '*lib/x86_64-linux-gnu/libncursesw.so.6' '*lib/x86_64-linux-gnu/libpanelw.so.6' '*lib/x86_64-linux-gnu/libreadline.so.8' '*lib/x86_64-linux-gnu/libsqlite3.so.0' '*lib/x86_64-linux-gnu/libssl.so.3' '*lib/x86_64-linux-gnu/libtinfo.so.6' '*lib/x86_64-linux-gnu/libuuid.so.1' '*lib/x86_64-linux-gnu/libz.so.1' '*lib/x86_64-linux-gnu/libzstd.so.1'
diversion by libreadline8t64 from: /lib/x86_64-linux-gnu/libreadline.so.8
diversion by libreadline8t64 to: /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged
libreadline8t64:amd64: /usr/lib/x86_64-linux-gnu/libreadline.so.8

Hmm, maybe we can just ignore the diversions instead. 🤔

@tianon tianon force-pushed the trixie branch 4 times, most recently from 9113c8d to 9df07c8 Compare May 21, 2025 22:39
if rcVersion == "3.9" then "" else (
-}}
$(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') \
$(test "${gnuArch%%-}" != 'riscv64' && echo '--with-lto') \
Copy link
Contributor

Choose a reason for hiding this comment

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

this %% syntax doens't seem to work for me, $(if ! echo "${gnuArch%%-}" | grep -q 'riscv64'; then echo '--with-lto' ; fi) does, but maybe there's a nicer way...

Copy link
Member Author

Choose a reason for hiding this comment

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

Doh, I missed the glob - it should be ${gnuArch%%-*} 🤦

Copy link
Contributor

Choose a reason for hiding this comment

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

that works, thanks 👍🏿

@daveisfera
Copy link

Debian Bookworm hit "Hard Freeze" on 2023-03-12, "Full Freeze" on 2023-05-24, and wasn't GA until 2023-06-10, so I do think we've got a ways yet. We should absolutely fix the failures in this PR, and plan to, but we do not plan to officially release/support a non-GA version of Debian officially (especially since it's not officially supported by the Debian Security Team until GA).

Could the Trixie images be released with -rc like the pre-release versions of Python themselves? Then it indicates to people that they're not intended for production use while making them available for testing?

@reneleonhardt
Copy link

Could wget be configured to be less verbose? The progressbar isn't really needed in Docker builds.
https://superuser.com/questions/298038/getting-wget-to-display-a-less-verbose-output

Great that you fixed an old problem!

| 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)

Choose a reason for hiding this comment

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

Suggested change
# 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)
# https://manpages.debian.org/trixie/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)

@kalcutter
Copy link

Is there anything that still needs to be done to get this merged?

@yosifkit
Copy link
Member

Is there anything that still needs to be done to get this merged?

Probably a rebase with those conflicts, but mostly just waiting for the Trixie release. We do not plan to support Debian Trixie officially until it is GA / released which means we will not merge this until after the 9th of August.

@daveisfera
Copy link

One last request for a release candidate with an rc tag similar to the 3.14 images that are currently available so this can be tested using official builds

@reneleonhardt
Copy link

You could even delete rc tags after GA...

@ZipBrandon

This comment was marked as off-topic.

@tianon tianon marked this pull request as ready for review August 8, 2025 18:21
@ulgens
Copy link

ulgens commented Aug 10, 2025

Trixie is GA! 🥳

@yosifkit yosifkit merged commit 47950d2 into docker-library:master Aug 11, 2025
42 checks passed
@yosifkit yosifkit deleted the trixie branch August 11, 2025 23:47
@yosifkit
Copy link
Member

An image's source changed in Git, now what?

docker-library-bot added a commit to docker-library-bot/official-images that referenced this pull request Aug 12, 2025
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
@Stormheg
Copy link

For anyone watching this issue, trixie images appear to be available now. I can successfully docker pull python:3.13-slim-trixie as of this morning 🎉 🎉

@prauscher
Copy link

Hello and first of all thanks for providing the update. It appears to me that there currently is no arm64-image for the tag 3.13-trixie (or any non-slim-tag for that matter). Is there a specific reason for this or am I missing something out?

@yosifkit
Copy link
Member

Hello and first of all thanks for providing the update. It appears to me that there currently is no arm64-image for the tag 3.13-trixie (or any non-slim-tag for that matter). Is there a specific reason for this or am I missing something out?

Not all of our architectures are as fast to build as others. We push them once they are built, but there are many other images to also build since the Debian update also caused a rebuild of all other Debian-based images in DOI. Our build queue is still very full. But it looks like many python:*trixie images have arm64v8 images now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Trixie test builds Failed to build on debian:sid-slim
10 participants