On 10/11/26 1:56 PM, Jonas Smedegaard wrote:
Quoting kpcyrd (2026-10-11 13:25:09)
Please add a +default provides so dependency resolution works for
crates that depend on rustls with default features, and no other
feature enabled.
It is true that the Debian packaging of rustls does not provide the
"default" feature.
I will be happy to offer that feature when in fact it is available.
I'm not sure I understand, depending on rustls with default features is
perfectly valid:
cargo new test123 && cd test123 && echo 'rustls = "0.23"' >> Cargo.toml && cargo
build
I will not, however, claim it being available before it truly is, in
the contained crate.
If your package succeeds with a fake declaration, then please consider
adjusting your package, as that is proof that your package does not, in
fact, require "default" from rustls.
I've tried to work around this by turning on a feature, but this doesn't turn
off the `default` feature dependency:
```
Depends:
${misc:Depends},
librust-base64-0.22+default-dev,
librust-log-0.4+default-dev,
librust-native-tls-0.2+default-dev,
librust-openssl-0.10+default-dev (>= 0.10.29),
librust-openssl-0.10+vendored-dev (>= 0.10.29),
librust-openssl-probe-0.2+default-dev,
librust-punycode-0.4+default-dev (>= 0.4.1),
librust-rustls-0.23+default-dev (>= 0.23.35),
librust-rustls-0.23+ring-dev (>= 0.23.35),
librust-rustls-platform-verifier-0.6+default-dev (>= 0.6.2),
librust-serde-1+default-dev (>= 1.0.101),
librust-serde-json-1+default-dev,
librust-urlencoding-2+default-dev (>= 2.1.0)
```
The default feature set is always available in Rust and always enabled unless
`default-features = false` is added:
https://doc.rust-lang.org/cargo/reference/features.html#the-default-feature
You are allowed to make opinionated choices like "the default feature set should
use the ring feature instead of the aws-lc-sys feature", that would be better
than making every package patch in `default-features = false` and come up with
their own sensible list of rustls default features.