[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