1 |
On 12/04/2016 07:43 PM, Brian Dolbec wrote: |
2 |
> On Sun, 4 Dec 2016 18:54:37 -0800 |
3 |
> Zac Medico <zmedico@g.o> wrote: |
4 |
> |
5 |
>> Fix depgraph's package selection logic to choose the highest version |
6 |
>> involved in a slot conflict, for correct operation of |
7 |
>> conflict_downgrade logic in the dep_zapdeps function which was |
8 |
>> introduced in commit a9064d08ef4c92a5d0d1bfb3dc8a01b7850812b0. This |
9 |
>> will prevent incorrect re-ordering of || deps in dep_zapdeps, as |
10 |
>> reported in bug 554070. |
11 |
>> |
12 |
>> X-Gentoo-Bug: 554070 |
13 |
>> X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=554070 |
14 |
>> Fixes a9064d08ef4c ("Solve more slot-operator conflicts (531656)") |
15 |
>> --- |
16 |
>> pym/_emerge/depgraph.py | 11 +++++++++-- |
17 |
>> 1 file changed, 9 insertions(+), 2 deletions(-) |
18 |
>> |
19 |
>> diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py |
20 |
>> index 9161914..ee6cf68 100644 |
21 |
>> --- a/pym/_emerge/depgraph.py |
22 |
>> +++ b/pym/_emerge/depgraph.py |
23 |
>> @@ -6071,8 +6071,15 @@ class depgraph(object): |
24 |
>> # will always end with a |
25 |
>> break statement below # this point. |
26 |
>> if find_existing_node: |
27 |
>> - e_pkg = |
28 |
>> next(self._dynamic_config._package_tracker.match( |
29 |
>> - root, |
30 |
>> pkg.slot_atom, installed=False), None) |
31 |
>> + # Use reversed |
32 |
>> iteration in order to get |
33 |
>> + # descending order |
34 |
>> here, so that the highest |
35 |
>> + # version involved |
36 |
>> in a slot conflict is |
37 |
>> + # selected. This is |
38 |
>> needed for correct operation |
39 |
>> + # of |
40 |
>> conflict_downgrade logic in the dep_zapdeps |
41 |
>> + # function (see bug |
42 |
>> 554070). |
43 |
>> + e_pkg = |
44 |
>> next(reversed(list( |
45 |
>> + |
46 |
>> self._dynamic_config._package_tracker.match( |
47 |
>> + root, |
48 |
>> pkg.slot_atom, installed=False))), None) |
49 |
>> if not e_pkg: |
50 |
>> break |
51 |
> |
52 |
> LGTM |
53 |
> |
54 |
|
55 |
Pushed: |
56 |
|
57 |
https://gitweb.gentoo.org/proj/portage.git/commit/?id=ab07ac68fa1e04ed64e2e0f6c753ff169a32d517 |
58 |
-- |
59 |
Thanks, |
60 |
Zac |