[Pkg-rust-maintainers] Bug#1038381: src:rust-sequoia-net: fails to migrate to testing for too long: Build-Depends not available
Peter Green
plugwash at debian.org
Mon Jul 3 18:46:15 BST 2023
> Your package src:rust-sequoia-net has been trying to
> migrate for 94 days [2] (yes, partially due to the freeze).
This package was uploaded to unstable by mistake, it should
have been uploaded to experimental. Since it wasn't built
on any architectures I decided the least disruptive thing
to do during the freeze was to leave it alone.
Anyway, the freeze is over and sequoia-openpgp is updated,
however there are still a couple of issues with this package.
The first is that it depends on an old version of
rust-base64, that one is trivially dealt with and indeed
has already been fixed in experimental.
The second however is it has a dependency on
rust-trust-dns-client, this dependency is "optional" but
"enabled by default".
rust-trust-dns-client is currently only available on
five out of 9 release architectures. This is due to
dependencies on rust-rustls and rust-ring which are
optional (and not enabled by default) at the cargo
level but effectively mandatory with the current debian
packaging.
rust-rustls is architecture limited because of a
dependency on rust-ring. The current version of rust-ring
is architecture limited because it relies on assembler
code for major parts of it's functionality.
There has been some work upstream on making rust-ring
more portable, but given the nature of the code, I would
be reluctant to try and take it as a patch in Debian
before it is included in an upstream release.
So that IMO leaves the following options to move forward
with this in the absense of a new upstream version of
ring that is portable to all release architectures.
1. Simply patch out the feature in rust-sequoia-net, the
reason I don't like this is because it's an enabled
by default feature, downstream patches may suffer
build failures with no obvious cause.
2. Implement https://salsa.debian.org/rust-team/debcargo/-/issues/49
and use it in the trust-dns packages, I did start
doing some thinking about how I would implement it
but I failed to find time when I was in the right
frame of mind to do anything about it.
3. Manually patch the trust-dns packages to only expose
the rustls/ring features on the architectures where
they are supported, similar to what is currently done
for the reqwest package.
4. Drop the rustls/ring support in the trust-dns
packages completely.
5. Drop sequoia-net and it's reverse dependencies on
architectures that do not support ring.
More information about the Pkg-rust-maintainers
mailing list