depwait builds do not retry even though the dep can be met via a virtual package
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Triaged
|
High
|
Unassigned |
Bug Description
Using qtbittorrent as an example ...
qbittorrent_
** Using build dependencies supplied by package:
Build-Depends: debhelper (>= 7), libtorrent-
Checking for already installed source dependencies...
debhelper: missing
libtorrent-
libqt4-dev: missing
libxext-dev: missing
libcurl-dev: missing
libzzip-dev: missing
Checking for source dependency conflicts...
libcurl-dev is a virtual package provided by: libcurl4-
Using libcurl4-
/usr/bin/sudo /usr/bin/apt-get --purge $CHROOT_OPTIONS -q -y install debhelper libtorrent-
Reading package lists...
Building dependency tree...
Reading state information...
Package libcurl-dev is a virtual package provided by:
libcurl4-
libcurl4-
You should explicitly select one to install.
E: Package libcurl-dev has no installation candidate
libcurl-dev is a virtual package provided by: libcurl4-
Using libcurl4-
/usr/bin/sudo /usr/bin/apt-get --purge $CHROOT_OPTIONS -q -y install debhelper libtorrent-
This package was depwait on sparc and ia64 since Feb 8 waiting for libcurl-dev even though there was a package to satisfy the virtual package requirement. Ideally packages are supposed to build-dep on a real package and use the virtual package as an alternate, but packaging errors like this are not terribly rare. I think it's better to pick one (as the system will do it manually triggered) than leave the package unbuilt.
affects: | launchpad → soyuz |
affects: | soyuz → launchpad-buildd |
Changed in soyuz: | |
assignee: | nobody → William Grant (wgrant) |
Changed in launchpad: | |
assignee: | William Grant (wgrant) → nobody |
Changed in launchpad: | |
importance: | Medium → High |
summary: |
- Availability of a package to provide a virtual package not noticed to - clear depwait + depwait builds do not retry even though the dep can be met via a virtual + package |
It was under the impression that the `apt` itself (in the buildd-domain) could deal better with the fact a dependency is a virtual (Provided:) package, but I was wrong.
Soyuz, specially the depwait-retry code, needs to check for virtual packages as well when probing builds in depwait.