1 |
On 12/17/2010 06:13 PM, Donnie Berkholz wrote: |
2 |
> On 15:25 Fri 17 Dec , Ciaran McCreesh wrote: |
3 |
>> Things get messier when you've got || ( a >b-2.1 ) and b-2.0 is |
4 |
>> installed and a is not. Should b be upgraded to 2.1, or should a be |
5 |
>> selected? |
6 |
> |
7 |
> It depends ... see later. |
8 |
> |
9 |
>> What about if you decide upon a early on, and then later on something |
10 |
>> hard-depends upon b? |
11 |
> |
12 |
> Then you're collapsing the graph too early. =) |
13 |
> (speaking as an utter novice) |
14 |
|
15 |
This is the same kind of case as in bug 264434. We solved it in portage |
16 |
by putting || and virtual dependencies on stack, and delaying their |
17 |
evaluation until as late as possible. You may be able to dream up some |
18 |
corner cases where this approach doesn't help, but in practice it seems |
19 |
to help more often than not. |
20 |
|
21 |
[1] http://bugs.gentoo.org/show_bug.cgi?id=264434 |
22 |
-- |
23 |
Thanks, |
24 |
Zac |