summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-04-05 17:48:23 +0000
committerZac Medico <zmedico@gentoo.org>2008-04-05 17:48:23 +0000
commitb24e08ab8c4cc0daaed140297755e91e98c3d4a0 (patch)
treec2dc978573b284b6d9ebc6a11d3e612f38d138d3
parent77a4aef3abc483d4dc1f2e26d7d665e6849a4804 (diff)
downloadportage-b24e08ab8c4cc0daaed140297755e91e98c3d4a0.tar.gz
portage-b24e08ab8c4cc0daaed140297755e91e98c3d4a0.tar.bz2
portage-b24e08ab8c4cc0daaed140297755e91e98c3d4a0.zip
Bug #216328 - Fix broken --newuse reinstallation logic.
svn path=/main/trunk/; revision=9718
-rw-r--r--pym/_emerge/__init__.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index bc8cbd205..613409332 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2511,6 +2511,7 @@ class depgraph(object):
usepkgonly = "--usepkgonly" in self.myopts
empty = "empty" in self.myparams
selective = "selective" in self.myparams
+ reinstall = False
noreplace = "--noreplace" in self.myopts
# Behavior of the "selective" parameter depends on
# whether or not a package matches an argument atom.
@@ -2531,7 +2532,7 @@ class depgraph(object):
if existing_node:
break
if installed and not find_existing_node:
- want_reinstall = empty or \
+ want_reinstall = reinstall or empty or \
(found_available_arg and not selective)
if want_reinstall and matched_packages:
continue
@@ -2656,6 +2657,8 @@ class depgraph(object):
self._reinstall_for_flags(
forced_flags, old_use, old_iuse,
cur_use, cur_iuse)
+ if reinstall_for_flags:
+ reinstall = True
if not installed:
must_reinstall = empty or \
(myarg and not selective)