Quoting kpcyrd (2026-10-11 17:57:42)
> 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.

I agree that I am allowed to deviate from upstream, but disagree that
it is sensible - I would consider that a fork, which I am not willing
to maintain:

If I patch rustls to use ring by default, then any downstream consumer
of rustls that expects aws-lc-sys to be in use will fail.

 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/
 * Sponsorship: https://ko-fi.com/drjones

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature

Reply via email to