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