Hi, On Wed, 05 Aug 2020 15:33:21 -0400 Daniel Kahn Gillmor <d...@fifthhorseman.net> wrote: > Looking at buffered-reader version 0.18.0, upstream lists dependencies > in Cargo.toml including: > > [dependencies.flate2] > version = ">= 1.0.1, < 1.0.16" > optional = true > > > debcargo 2.4.2 converts this to a b-d list: > > Build-Depends: […] > librust-flate2-1.0.15+default-dev <!nocheck> | > librust-flate2-1.0.14+default-dev <!nocheck> | > librust-flate2-1.0.13+default-dev <!nocheck> | > librust-flate2-1.0.12+default-dev <!nocheck> | > librust-flate2-1.0.11+default-dev <!nocheck> | > librust-flate2-1.0.10+default-dev <!nocheck> | > librust-flate2-1.0.9+default-dev <!nocheck> | > librust-flate2-1.0.8+default-dev <!nocheck> | > librust-flate2-1.0.7+default-dev <!nocheck> | > librust-flate2-1.0.6+default-dev <!nocheck> | > librust-flate2-1.0.5+default-dev <!nocheck> | > librust-flate2-1.0.4+default-dev <!nocheck> | > librust-flate2-1.0.3+default-dev <!nocheck> | > librust-flate2-1.0.2+default-dev <!nocheck> | > librust-flate2-1.0.1+default-dev <!nocheck>, > […] > > > But https://buildd.debian.org/status/package.php?p=rust-buffered-reader > says "BD-uninstallable" for all platforms, for example: > > > rust-buffered-reader build-depends on missing: > - librust-flate2-1.0.15+default-dev:amd64 > > note that librust-flate2+rust-backend-dev version 1.0.13-2 is in > unstable, and it has: > > Provides: […] librust-flate2-1.0.13+default-dev (= 1.0.13-2) > > Clearly, the solver is ignoring all but the first build-depends in an > "or"ed dependency. debcargo probably needs to figure out a way around > this :/
one possible way around this today, would be if librust-flate2-X-dev would add a "Provides: librust-flate2-dev (= X)" and then you could write: Build-Depends: […] librust-flate2-dev (= 1.0.15+default) <!nocheck> | librust-flate2-dev (= 1.0.14+default) <!nocheck> | librust-flate2-dev (= 1.0.13+default) <!nocheck> | librust-flate2-dev (= 1.0.12+default) <!nocheck> | librust-flate2-dev (= 1.0.11+default) <!nocheck> | librust-flate2-dev (= 1.0.10+default) <!nocheck> | librust-flate2-dev (= 1.0.9+default) <!nocheck> | librust-flate2-dev (= 1.0.8+default) <!nocheck> | librust-flate2-dev (= 1.0.7+default) <!nocheck> | librust-flate2-dev (= 1.0.6+default) <!nocheck> | librust-flate2-dev (= 1.0.5+default) <!nocheck> | librust-flate2-dev (= 1.0.4+default) <!nocheck> | librust-flate2-dev (= 1.0.3+default) <!nocheck> | librust-flate2-dev (= 1.0.2+default) <!nocheck> | librust-flate2-dev (= 1.0.1+default) <!nocheck>, […] sbuild will not reduce an OR dependency to just the first entry if the package names are all equal. Thanks! cheers, josch
signature.asc
Description: signature