aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2017-09-29 01:07:34 -0700
committerZac Medico <zmedico@gentoo.org>2017-09-29 10:22:32 -0700
commitd82bf7c0a2cfa9590849aa7fd3ea1257a7f45006 (patch)
tree981ef4fcaeb5317b1dc174ef30d09d8a071e8e41
parent_solve_..slot_conflicts: make "forced" set recursive (bug 632210) (diff)
downloadportage-d82bf7c0.tar.gz
portage-d82bf7c0.tar.bz2
portage-d82bf7c0.zip
_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@gentoo.org>
-rw-r--r--pym/_emerge/depgraph.py3
1 files changed, 2 insertions, 1 deletions
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