diff options
Diffstat (limited to 'pym/portage.py')
-rw-r--r-- | pym/portage.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/pym/portage.py b/pym/portage.py index d58a7e929..7be824bc8 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -5210,15 +5210,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 |