[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#864906: apt-cudf: gives invalid solutions involving mixed versioned/unversioned provides



Package: apt-cudf
Version: 5.0.1-8
Severity: normal

Hi,

This bug has arisen after I started looking at why pdl 1:2.018-1~exp1
has been failing to install its dependencies in experimental.

https://buildd.debian.org/status/package.php?p=pdl&suite=experimental

The failures only happen when the aspcud solver is used. When the normal
APT solver is used, everything works fine.

The error in pdl seems to revolve around the versioned provides of
perl-base which currently confuse apt-cudf because perl-base in sid does
NOT use versioned provides, but perl-base in experimental does.

I've attached a simplified test case which illustrates this. When
running apt-cudf on it I get this invalid solution:

$ apt-cudf --solver=aspcud test.edsp
Install: 101
Package: banana
Version: 1
Architecture: amd64

This is wrong because the cantelope dependency has not been satisfied.
Either cantelope needs to be installed, or eggplant needs to be upgraded.

======

The problem seems to be that banana has a generated CUDF dependency on
cantelope like this:

> package: banana%3aamd64
> version: 2
> depends: cantelope%3aamd64 >= 3 | --virtual-cantelope%3aamd64 = 2147483647 | --virtual-cantelope%3aamd64 >= 3

But this gets satisfied by the OLD (already installed) eggplant which
has an unversioned provides:

> package: eggplant%3aamd64
> version: 2
> conflicts: eggplant%3aamd64 , eggplant
> provides: eggplant , --virtual-cantelope%3aamd64 = 2147483646

Thanks,
James
Request: EDSP 0.5
Architecture: amd64
Architectures: amd64
Install: banana:amd64
Strict-Pinning: no

Package: banana
Architecture: amd64
Version: 1
Depends: cantelope (>= 2)
APT-ID: 101
APT-Pin: 500

Package: cantelope
Architecture: amd64
Version: 2
APT-ID: 102
APT-Pin: 500

Package: eggplant
Architecture: amd64
Version: 1
Provides: cantelope
Installed: yes
APT-ID: 103
APT-Pin: 500

Package: eggplant
Architecture: amd64
Version: 2
Provides: cantelope (= 2)
APT-ID: 104
APT-Pin: 500

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: