[Pkg-rust-maintainers] Bug#967954: Bug#967954: debcargo: generated ranged build-deps result in "BD-uninstallable" on debian buildd network

peter green plugwash at p10link.net
Mon Oct 26 16:08:03 GMT 2020


> 
> do actually already do work in dpkg.  You represent them as:
> 
>  Build-Depends:
>    librust-foo-dev (>= 0.4),
>    librust-foo-dev (<< 0.6)
 ><--snip->
 > Provides: librust-foo-dev = 0.4.2-1
 >
 > then the conjunctive, versioned Depends would be able to figure out how
 > to satisfy it.

The problem is that once versioned provides get involved

librust-foo-dev (>= 0.4), librust-foo-dev (<< 0.6)

is not equivalent to

librust-foo-dev (>= 0.4, << 0.6)

Specifically lets say you have three packages.

librust-foo-dev version 0.9.1-1
librust-foo-0.1-dev version 0.1.1-1 provides: librust-foo-dev (= 0.1.1-1)
librust-foo-0.4-dev version 0.4.1-1 provides: librust-foo-dev (= 0.4.1-1)

Installing (or having already installed) librust-foo-dev and
librust-foo-0.1-dev will satisfy "librust-foo-dev (>= 0.4),
librust-foo-dev (<< 0.6)" just fine but it is almost-certainly
not what you as the developer intended.



More information about the Pkg-rust-maintainers mailing list