On 12/17/2010 06:13 PM, Donnie Berkholz wrote:
> On 15:25 Fri 17 Dec     , Ciaran McCreesh wrote:
>> Things get messier when you've got || ( a >b-2.1 ) and b-2.0 is
>> installed and a is not. Should b be upgraded to 2.1, or should a be
>> selected?
> 
> It depends ... see later.
> 
>> What about if you decide upon a early on, and then later on something 
>> hard-depends upon b?
> 
> Then you're collapsing the graph too early. =)
> (speaking as an utter novice)

This is the same kind of case as in bug 264434. We solved it in portage
by putting || and virtual dependencies on stack, and delaying their
evaluation until as late as possible. You may be able to dream up some
corner cases where this approach doesn't help, but in practice it seems
to help more often than not.

[1] http://bugs.gentoo.org/show_bug.cgi?id=264434
-- 
Thanks,
Zac

Reply via email to