Quoting Fabian Grünbichler (2025-04-12 16:13:42)
> On Mon, Apr 7, 2025, at 9:37 AM, Jonas Smedegaard wrote:
> > Quoting Jonas Smedegaard (2025-04-07 09:29:04)
> >> Package: librust-secret-service-dev
> >> Version: 4.0.0-4
> >> Severity: grave
> >> 
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA512
> >> 
> >> Builds involving this package fails to build:
> >> 
> >> error[E0428]: the name `hkdf` is defined multiple times
> >>    --> 
> >> /build/rust-email-lib-0+20250111/debian/cargo_registry/secret-service-4.0.0/src/session.rs:131:1
> >>     |
> >> 111 | fn hkdf(ikm: Vec<u8>, salt: Option<&[u8]>, okm: &mut [u8]) {
> >>     | ---------------------------------------------------------- previous 
> >> definition of the value `hkdf` here
> >> ...
> >> 131 | fn hkdf(ikm: Vec<u8>, salt: Option<&[u8]>, okm: &mut [u8]) {
> >>     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `hkdf` 
> >> redefined here
> >>     |
> >>     = note: `hkdf` must be defined only once in the value namespace of 
> >> this module
> >> 
> >> error[E0428]: the name `encrypt` is defined multiple times
> >>    --> 
> >> /build/rust-email-lib-0+20250111/debian/cargo_registry/secret-service-4.0.0/src/session.rs:267:1
> >>     |
> >> 242 | pub fn encrypt(data: &[u8], key: &AesKey, iv: &[u8]) -> Vec<u8> {
> >>     | --------------------------------------------------------------- 
> >> previous definition of the value `encrypt` here
> >> ...
> >> 267 | pub fn encrypt(data: &[u8], key: &AesKey, iv: &[u8]) -> Vec<u8> {
> >>     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
> >> `encrypt` redefined here
> >>     |
> >>     = note: `encrypt` must be defined only once in the value namespace of 
> >> this module
> >> 
> >> error[E0428]: the name `decrypt` is defined multiple times
> >>    --> 
> >> /build/rust-email-lib-0+20250111/debian/cargo_registry/secret-service-4.0.0/src/session.rs:284:1
> >>     |
> >> 254 | pub fn decrypt(encrypted_data: &[u8], key: &AesKey, iv: &[u8]) -> 
> >> Result<Vec<u8>, Error> {
> >>     | 
> >> ----------------------------------------------------------------------------------------
> >>  previous definition of the value `decrypt` here
> >> ...
> >> 284 | pub fn decrypt(encrypted_data: &[u8], key: &AesKey, iv: &[u8]) -> 
> >> Result<Vec<u8>, Error> {
> >>     | 
> >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>  `decrypt` redefined here
> >>     |
> >>     = note: `decrypt` must be defined only once in the value namespace of 
> >> this module
> >
> > Possibly the cause of this issue is that the Debian packaging carries a
> > patch that mangles upstream default feature to enforce a specific
> > crypto engine: That might very well wreak havoc for any reverse
> > dependency expecting to be able to, well, *choose* a crypto engine.
> >
> > Just a guess, and since the patch is totally undocumented - i.e. lacks
> > DEP-3 patch headers and is not mentioned in changelog, I give up
> > speculating any further...
> 
> I looked at this a bit during the BSP here - could you give more context
> about how you trigger the failure? AFAICT you can just disable default
> features on your side and pick the runtime+crypto-backend combination
> of your choice and things should work as expected - the latter you
> have to do anyway, since neither no features enabled, nor all features
> enabled would work.
> 
> the default feature is the easiest way to get some build/autopkgtest
> coverage, we could of course also skip tests at build time altogether
> instead, or add a ton of manual overrides, but I am not sure it is worth
> it..

Upstream default for the crate secret-service is to not decide on a
crypto engine.

Debian packaging enforces a crypto engine, which means that downstream
reverse dependencies of secret-service needs to be patched to match
that fork of the upstream API.

I fail to understand how that is "the easiest way".

 - 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