[Aptitude-devel] Bug#847089: Bug#847089: aptitude: resolver mishandles OR'ed versioned Recommends

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Fri Apr 14 17:40:30 UTC 2017


2016-12-05 15:08 Axel Beckert:
>Control: tag -1 + confirmed
>Hi Vincent,
>thanks for this bug report.
>Vincent Lefevre wrote:
>> To satisfy an OR'ed versioned Recommends, the resolver should prefer
>> a package upgrade over a new package installation (which may yield a
>> conflict with the other choice), even though this is not the first
>> choice.
>> But if I type '+' over "main", I get:
>>   --\ utils          Various system utilities (5)
>>     --\ main           The main Debian archive (5)
>> iuA stardict-common  -165 kB   3.0.1-9.2                3.0.1-9.3
>> iB  stardict-gtk     +31.7 kB  3.0.1-9.2+b2             3.0.1-9.3
>> iuA stardict-plugin  +17.4 kB  3.0.1-9.2+b2             3.0.1-9.3
>> iuA stardict-plugin- +3072 B   3.0.1-9.2+b2             3.0.1-9.3
>> iuA stardict-plugin- -68.6 kB  3.0.1-9.2+b2             3.0.1-9.3
>> Here the package stardict-gtk is marked as broken, while it could be
>> upgraded as shown above. In the details, I get:
>I can reproduce this on Sid with even less effort:
>Search for stardict-common, show its dependencies with "d", inside the
>Recommends, explicitly mark stardict-gtk for installation.
>Then go to the parent Recommends branch and mark the "Recommends" for
>installation with "+", and voila: Two alternative and conflicting
>packages are selected for installation despite one of them was already

This is IMO due to unrelated reasons.  When pressing "+" in the
Recommends subtree (or any other: Conflicts, whatever), all packages
within the subtree will try to be installed, and they conflict among
themselves -- there's no special intelligence to handle subtrees when
they are recommends.  It just tries to apply the action to all children.

Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>

More information about the Aptitude-devel mailing list