1 |
On Wed, Mar 15, 2017 at 9:39 PM, Brian Dolbec <dolsen@g.o> wrote: |
2 |
> On Wed, 15 Mar 2017 20:23:43 -0700 |
3 |
> Zac Medico <zmedico@g.o> wrote: |
4 |
> |
5 |
>> Fix check_reverse_dependencies to ignore dependencies of parent |
6 |
>> packages that could be uninstalled in order to solve a blocker |
7 |
>> conflict. This case is similar to the one from bug 584626, except |
8 |
>> that the relevant parent package is in an older slot which is blocked |
9 |
>> by a newer slot. In this case, the _upgrade_available method returns |
10 |
>> False, because the package in the older slot is the highest version |
11 |
>> version available for its slot. Therefore, a new _in_blocker_conflict |
12 |
>> method is needed to detect parent packages that cold be uninstalled. |
13 |
>> The included unit test fails without this fix. |
14 |
>> |
15 |
>> Since the _in_blocker_conflict method requires information that is |
16 |
>> collected by the _validate_blockers method, the _validate_blockers |
17 |
>> method now has to be called before the _process_slot_conflict and |
18 |
>> _slot_operator_trigger_reinstalls methods. |
19 |
>> |
20 |
>> X-Gentoo-bug: 612772 |
21 |
>> X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=612772 |
22 |
>> --- |
23 |
>> pym/_emerge/depgraph.py | 59 ++++++++--- |
24 |
>> .../resolver/test_slot_operator_exclusive_slots.py | 109 |
25 |
>> +++++++++++++++++++++ 2 files changed, 155 insertions(+), 13 |
26 |
>> deletions(-) create mode 100644 |
27 |
>> pym/portage/tests/resolver/test_slot_operator_exclusive_slots.py |
28 |
>> |
29 |
>> diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py |
30 |
>> index 1379b05..96b6d5f 100644 |
31 |
>> --- a/pym/_emerge/depgraph.py |
32 |
>> +++ b/pym/_emerge/depgraph.py |
33 |
>> @@ -387,7 +387,10 @@ class _dynamic_depgraph_config(object): |
34 |
>> # Contains only unsolvable Package -> Blocker edges |
35 |
>> self._unsolvable_blockers = digraph() |
36 |
>> # Contains all Blocker -> Blocked Package edges |
37 |
>> - self._blocked_pkgs = digraph() |
38 |
>> + # Do not initialized this until the depgraph |
39 |
> / |
40 |
> typo -d |
41 |
> |
42 |
> |
43 |
> Otherwise looks good :) |
44 |
|
45 |
Thanks, merged with typo fix: |
46 |
|
47 |
https://gitweb.gentoo.org/proj/portage.git/commit/?id=15e67f5516e0779d2cba37704c15b42193808197 |
48 |
-- |
49 |
Thanks, |
50 |
Zac |