On Wed, 15 Mar 2017 20:23:43 -0700
Zac Medico <zmed...@gentoo.org> wrote:

> Fix check_reverse_dependencies to ignore dependencies of parent
> packages that could be uninstalled in order to solve a blocker
> conflict. This case is similar to the one from bug 584626, except
> that the relevant parent package is in an older slot which is blocked
> by a newer slot. In this case, the _upgrade_available method returns
> False, because the package in the older slot is the highest version
> version available for its slot. Therefore, a new _in_blocker_conflict
> method is needed to detect parent packages that cold be uninstalled.
> The included unit test fails without this fix.
> 
> Since the _in_blocker_conflict method requires information that is
> collected by the _validate_blockers method, the _validate_blockers
> method now has to be called before the _process_slot_conflict and
> _slot_operator_trigger_reinstalls methods.
> 
> X-Gentoo-bug: 612772
> X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=612772
> ---
>  pym/_emerge/depgraph.py                            |  59 ++++++++---
>  .../resolver/test_slot_operator_exclusive_slots.py | 109
> +++++++++++++++++++++ 2 files changed, 155 insertions(+), 13
> deletions(-) create mode 100644
> pym/portage/tests/resolver/test_slot_operator_exclusive_slots.py
> 
> diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
> index 1379b05..96b6d5f 100644
> --- a/pym/_emerge/depgraph.py
> +++ b/pym/_emerge/depgraph.py
> @@ -387,7 +387,10 @@ class _dynamic_depgraph_config(object):
>               # Contains only unsolvable Package -> Blocker edges
>               self._unsolvable_blockers = digraph()
>               # Contains all Blocker -> Blocked Package edges
> -             self._blocked_pkgs = digraph()
> +             # Do not initialized this until the depgraph
                                  /
                          typo  -d


Otherwise looks good :)


-- 
Brian Dolbec <dolsen>


Reply via email to