Bug#1001251: [Pkg-rust-maintainers] Bug#1001251: debcargo changed names of a feature package

2022-02-08 Thread Daniel Kahn Gillmor
Hi Ximin--

thanks for the followup.

On Tue 2022-02-08 15:50:31 +, Ximin Luo wrote:
> Is your issue simply this? https://github.com/rust-lang/cargo/issues/7769

I think if this were fixed, then i could probably convince the sequoia
upstreams to mark the optional-dependency features as non-public,
leaving only their explicit, outwardly-defined features.  They're pretty
committed to API stability and they understand these details.

> If so please close this bug as invalid, since it is not debcargo's 
> responsibility.

While cargo closing that bug would solve my specific problem (after i
convince the relevant upstreams to do the work to think it through), I
don't think that's the only way to solve it, and i also don't think it
solves the general problem.

Even if the rust ecosystem were to allow packages to offer non-public
features, there are still situations where public features could be
aliased to one another, and debcargo would need to choose one or the
other of them as a name for the feature package.  It should do this in a
deterministic way, both for simplicity and reliability, and to avoid
unnecessary churn through NEW.

   --dkg


signature.asc
Description: PGP signature


Bug#1001251: [Pkg-rust-maintainers] Bug#1001251: debcargo changed names of a feature package

2022-02-08 Thread Ximin Luo
Is your issue simply this? https://github.com/rust-lang/cargo/issues/7769

If so please close this bug as invalid, since it is not debcargo's 
responsibility.

X

Daniel Kahn Gillmor:
> Control: affects 1001251 + src:rust-sequoia-openpgp
> 
> On Tue 2021-12-07 03:47:32 +0400, Daniel Kahn Gillmor wrote:
>> note that previously, …+compression-deflate-dev Provides: a virtual 
>> …+flate2-dev
>> package.  Now, …+flate2-dev Provides: a virtual
>> …+compression-deflate-dev package.
> 
> The same thing is happening for rust-sequoia-openpgp: in 1.3.0 (built
> with debcargo 2.4.4), rust-sequoia-openpgp+crypto-nettle-dev used to
> Provides: rust-sequoia-openpgp+nettle-dev
> 
> but as of 1.7.0 (built with debcargo 2.5.0), it is the opposite:
> rust-sequoia-openpgp+nettle-dev used to Provides:
> rust-sequoia-openpgp+crypto-nettle-dev
> 
> The sequoia-openpgp packages are much more involved in terms of
> features, and i don't really want to get into the business of overriding
> debian/control there, so i'm just passing it on another trip through NEW
> (it's in experimental anyway as it's blocked by the rust-random 0.8
> transition temporarily).
> 
> Just documenting that this is an issue for more than a single crate.
> 
>--dkg
> 
> 
> ___
> Pkg-rust-maintainers mailing list
> pkg-rust-maintain...@alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-rust-maintainers


-- 
GPG: ed25519/56034877E1F87C35
https://github.com/infinity0/pubkeys.git



Bug#1001251: debcargo changed names of a feature package

2022-02-02 Thread Daniel Kahn Gillmor
Control: affects 1001251 + src:rust-sequoia-openpgp

On Tue 2021-12-07 03:47:32 +0400, Daniel Kahn Gillmor wrote:
> note that previously, …+compression-deflate-dev Provides: a virtual 
> …+flate2-dev
> package.  Now, …+flate2-dev Provides: a virtual
> …+compression-deflate-dev package.

The same thing is happening for rust-sequoia-openpgp: in 1.3.0 (built
with debcargo 2.4.4), rust-sequoia-openpgp+crypto-nettle-dev used to
Provides: rust-sequoia-openpgp+nettle-dev

but as of 1.7.0 (built with debcargo 2.5.0), it is the opposite:
rust-sequoia-openpgp+nettle-dev used to Provides:
rust-sequoia-openpgp+crypto-nettle-dev

The sequoia-openpgp packages are much more involved in terms of
features, and i don't really want to get into the business of overriding
debian/control there, so i'm just passing it on another trip through NEW
(it's in experimental anyway as it's blocked by the rust-random 0.8
transition temporarily).

Just documenting that this is an issue for more than a single crate.

   --dkg


signature.asc
Description: PGP signature


Bug#1001251: debcargo changed names of a feature package

2021-12-06 Thread Daniel Kahn Gillmor
Package: debcargo
Version: 2.5.0-2
Control: affects -1 src:rust-buffered-reader

debcargo 2.4.4 packaged rust-buffered-reader 1.0.1 with four non-virtual
packages:

librust-buffered-reader-dev
librust-buffered-reader+bzip2-dev
librust-buffered-reader+compression-dev
librust-buffered-reader+compression-deflate-dev

buffered-reader 1.1.1 does not differ in its features at all from 1.0.1,
but when i try to package it with debcargo 2.5.0, it produces the
following list instead:

librust-buffered-reader-dev
librust-buffered-reader+bzip2-dev
librust-buffered-reader+compression-dev
librust-buffered-reader+flate2-dev

note that previously, …+compression-deflate-dev Provides: a virtual …+flate2-dev
package.  Now, …+flate2-dev Provides: a virtual
…+compression-deflate-dev package.

Note that the [features] section of the upstream Cargo.toml has not
changed:


[features]
compression = ["compression-deflate", "compression-bzip2"]
compression-bzip2 = ["bzip2"]
compression-deflate = ["flate2"]
default = ["compression"]


This change does make for a consistency between the way the packages
represent the bzip2 and flate2 features, but the fact that the
non-virtual package name has changed means we're incurring a needless
round trip through NEW, which incurs more friction between the rust and
FTP teams.

To avoid the friction, i'll probably work around by overriding the
generated debian/control, but this is kind of a sledgehammer approach to
fix a problem that i think debcargo was meant to solve.

If there are any suggestions for how to handle this more gracefully, i'd
be interested.

   --dkg


signature.asc
Description: PGP signature