summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-12-21 00:47:16 +0000
committerZac Medico <zmedico@gentoo.org>2007-12-21 00:47:16 +0000
commita90530ab29c7db0aadfd341412538e57bab6a1b4 (patch)
tree876623053a9efa4303b353bd2b8ee9a4cd5d15d0 /pym
parent0a74c4e0d350017ee8308ba1eca93d351f319552 (diff)
downloadportage-a90530ab29c7db0aadfd341412538e57bab6a1b4.tar.gz
portage-a90530ab29c7db0aadfd341412538e57bab6a1b4.tar.bz2
portage-a90530ab29c7db0aadfd341412538e57bab6a1b4.zip
Slightly improved the masked package check inside dep_zapdeps().
svn path=/main/trunk/; revision=9006
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/__init__.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 8f75a319a..c84ea2a28 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -5230,15 +5230,15 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
if avail_pkg:
avail_slot = "%s:%s" % (dep_getkey(atom),
mydbapi.aux_get(avail_pkg, ["SLOT"])[0])
- elif not avail_pkg and \
- (use_binaries or not mydbapi.cp_list(dep_getkey(atom))):
- # With --usepkgonly, count installed packages as "available".
- # Note that --usepkgonly currently has no package.mask support.
- # See bug #149816.
- avail_pkg = best(vardb.match(atom))
- if avail_pkg:
- avail_slot = "%s:%s" % (dep_getkey(atom),
- vardb.aux_get(avail_pkg, ["SLOT"])[0])
+ elif not avail_pkg:
+ has_mask = False
+ if hasattr(mydbapi, "xmatch"):
+ has_mask = bool(mydbapi.xmatch("bestmatch-all", atom))
+ if (use_binaries or not has_mask):
+ avail_pkg = best(vardb.match(atom))
+ if avail_pkg:
+ avail_slot = "%s:%s" % (dep_getkey(atom),
+ vardb.aux_get(avail_pkg, ["SLOT"])[0])
if not avail_pkg:
all_available = False
break