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

Daniel Kahn Gillmor dkg at fifthhorseman.net
Wed Aug 5 20:33:21 BST 2020


Package: debcargo
Version: 2.4.2-1
Severity: normal
Control: affects -1 + rust-buffered-reader

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 :/

(or, maybe something about the resolver for the build daemon network
needs to be fixed to try subsequent entries in an "or"ed dependency?  if
so, feel free to reassign this ticket)

I can work around this in rust-buffered-reader by dropping that
particular constraint (it is only added upstream to keep the MSRV low,
which doesn't matter for debian).

       --dkg


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing'), (200, 'unstable-debug'), (200, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-2-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages debcargo depends on:
ii  libc6                2.31-2
ii  libcurl3-gnutls      7.68.0-1+b1
ii  libgcc-s1 [libgcc1]  10.1.0-6
ii  libgit2-28           0.28.5+dfsg.1-1
ii  libssh2-1            1.8.0-2.1
ii  libssl1.1            1.1.1g-1
ii  quilt                0.66-2.1
ii  zlib1g               1:1.2.11.dfsg-2

Versions of packages debcargo recommends:
ii  dh-cargo  24

debcargo suggests no packages.

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/attachments/20200805/3b4f0290/attachment.sig>


More information about the Pkg-rust-maintainers mailing list