I just announced my intention to introduce hard Rust requirements into APT, no earlier than May 2026.

I believe it's important for Debian to be able to move forward and not b-e blocked by the concerns of unofficial retro computing ports.

By introducing Rust into APT, we will be able to convert security relevant parts like .ar, .tar, .deb file parsing and HTTP interactions to a memory safe language; all things that had seen a bunch of memory safety issues in the past.

https://lists.debian.org/deity/2025/10/msg00071.html

Hard Rust requirements from May onward

@juliank "unofficial retro computing ports" While I understand Canonical doesn't have any reason to care about those platforms, as a retro tech enthusiast, it is always a sad day to see them more and more removed from support. It seems increasingly counter to what I always saw Debian as, which was the swiss-army knife of distros, a definition more relevant to Gentoo these days, I suppose.
@thunderbird32
is it worth using more dangerous tools and keeping maintainers in pain for the sake of supporting such platforms, and until when
@juliank
@thunderbird32
there is an option to add support for such platforms to codegen backends, like llvm and cranelift... maybe that is asking a lot of enthusiasts, but so is asking maintainers and users to suffer in order to please you
@juliank

@tshepang I'd appreciate if you could be a bit more friendly, there's no need to lash out like that at someone who's sad that their hobby becomes increasingly challenging. They're essentially grieving and kicking them further isn't cool.

@thunderbird32

@thunderbird32 @juliank it’ll also affect new ports (things like loong64, riscv64, and not so long before that arm64) and hamper them greatly.

And I don’t even want to think about the effect on bootstrappability this has and the headaches helmutg and Co. are going to get from this. Might even be worth forking the last pre-rust version of apt for these cases and/or recover dselect’s ability to work aptless like it did in slink.

@mirabilos @thunderbird32 @juliank helmutg somehow cleans up all of the "let's introduce a global change" messes.
@thunderbird32 @GyrosGeier @juliank hoping for a maintained fork. I’d run that on amd64 as well, just to signal. Adrian is forking it into dpo unreleased already anyway, and we’ll have trixie-ELTS for the next ten years already, anyway, too.

@mirabilos APT 3.2 will be another LTS series and will get you to at least 2031 (possibly 2036, generally aiming for 10 years of support on the upstream side), providing ample opportunity to also slowly add Rust support.

However, it is too early to broadly advertise this option because it does undermine any effort to _meaningful_ action on these ports.

It's crucial to say "hey what you are doing is not ok, get your act together" rather than providing "oh but you can also use foo, no worries"

@mirabilos The complete UX upheaval will be a lot more challenging to most people than the Rust port :D
@juliank long as apt-cache and apt-get are not broken (more than they already are)…

@mirabilos I am committed to less interface stability going forward.

Like, so far we did not add new prompts to apt-get that we added to apt, rather just failing with a hard error. This is of course silly if you use it interactively.

Or --print-uris can only print md5. oh noes!

Most of what we had in apt(8) 2.x is fine to move over, it's just lacking some scripting pieces right now (i.e. in `show`, it should show all fields and not pretty print numbers when piping)

@mirabilos I have versioned apt(8) now, and you can request a specific version, but it's a bit challenging to translate to apt-get because it doesn't match 1:1, we don't really want the fancy progress in apt-get.