commit:     d82bf7c0a2cfa9590849aa7fd3ea1257a7f45006
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 08:07:34 2017 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Sep 29 17:22:32 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=d82bf7c0

_solve_..slot_conflicts: handle forced reinstall (bug 632202)

Fix the slot conflict solver to use the _want_installed_pkg
method to identify installed packages that are intended to
be reinstalled for some reason (such as @preserved-rebuild).

X-Gentoo-bug: 632202
X-Gentoo-bug-url: https://bugs.gentoo.org/632202
Acked-by: Brian Dolbec <dolsen <AT> gentoo.org>

 pym/_emerge/depgraph.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 3b81c5c76..b0149c4dc 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1337,7 +1337,8 @@ class depgraph(object):
                                        
self._dynamic_config._parent_atoms.get(pkg, []))
 
                        for parent, atom in all_parent_atoms:
-                               is_arg_parent = isinstance(parent, AtomArg)
+                               is_arg_parent = (inst_pkg is not None and
+                                       not self._want_installed_pkg(inst_pkg))
                                is_non_conflict_parent = parent not in 
conflict_pkgs and \
                                        parent not in indirect_conflict_pkgs
 

Reply via email to