summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-10-11 05:37:00 +0000
committerZac Medico <zmedico@gentoo.org>2007-10-11 05:37:00 +0000
commit86c8ae497f9a82fa976db5e1ffbd71f250d11ca1 (patch)
tree6d76574b8dc85b6514221aa353a23f3d63c5a568
parent8a5de72506034f80754c8f8993490ee238691884 (diff)
downloadportage-86c8ae497f9a82fa976db5e1ffbd71f250d11ca1.tar.gz
portage-86c8ae497f9a82fa976db5e1ffbd71f250d11ca1.tar.bz2
portage-86c8ae497f9a82fa976db5e1ffbd71f250d11ca1.zip
Make depgraph.select_dep() reject installed packages
in the same cases that it used to so that a warning message is properly generated in depgraph.xcreate() when a package is unavailable but installed. svn path=/main/trunk/; revision=8045
-rw-r--r--pym/emerge/__init__.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py
index e681fd231..63146e93a 100644
--- a/pym/emerge/__init__.py
+++ b/pym/emerge/__init__.py
@@ -1936,13 +1936,15 @@ class depgraph(object):
existing_node = None
myeb = None
usepkgonly = "--usepkgonly" in self.myopts
+ empty = "empty" in self.myparams
+ selective = "selective" in self.myparams
for find_existing_node in True, False:
if existing_node:
break
for db, pkg_type, built, installed, db_keys in dbs:
if existing_node:
break
- if installed and matched_packages:
+ if installed and (matched_packages or empty):
# We only need to select an installed package here
# if there is no other choice.
continue
@@ -2061,6 +2063,8 @@ class depgraph(object):
"empty" not in self.myparams and \
vardb.cpv_exists(cpv):
break
+ if installed and not (selective or not myarg):
+ break
# Metadata accessed above is cached internally by
# each db in order to optimize visibility checks.
# Now that all possible checks visibility checks