summaryrefslogtreecommitdiffstats
path: root/pym/portage/__init__.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-11-01 02:43:56 +0000
committerZac Medico <zmedico@gentoo.org>2008-11-01 02:43:56 +0000
commitccad47cd44fc3bb3f2d332737d7310f19c0644bb (patch)
treead8f3ec801f8dc36911c47c4764c009f698a6304 /pym/portage/__init__.py
parent6e23ac656350976f211728a3f22df29925647202 (diff)
downloadportage-ccad47cd44fc3bb3f2d332737d7310f19c0644bb.tar.gz
portage-ccad47cd44fc3bb3f2d332737d7310f19c0644bb.tar.bz2
portage-ccad47cd44fc3bb3f2d332737d7310f19c0644bb.zip
Bug #244947 - Add repoman support for checking masked and forced flags on
conditional USE deps. svn path=/main/trunk/; revision=11769
Diffstat (limited to 'pym/portage/__init__.py')
-rw-r--r--pym/portage/__init__.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 68b7a35ca..4b9457ae9 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -6110,7 +6110,7 @@ def dep_virtual(mysplit, mysettings):
return newsplit
def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
- trees=None, **kwargs):
+ trees=None, use_mask=None, use_force=None, **kwargs):
"""Recursively expand new-style virtuals so as to collapse one or more
levels of indirection. In dep_zapdeps, new-style virtuals will be assigned
zero cost regardless of whether or not they are currently installed. Virtual
@@ -6146,8 +6146,14 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
raise portage.exception.ParseError(
"invalid atom: '%s'" % x)
- # Repoman only checks IUSE for USE deps, so there's
- # no need to evaluate conditionals.
+ if repoman and x.use and x.use.conditional:
+ evaluated_atom = portage.dep.remove_slot(x)
+ if x.slot:
+ evaluated_atom += ":%s" % x.slot
+ evaluated_atom += str(x.use._eval_qa_conditionals(
+ use_mask, use_force))
+ x = portage.dep.Atom(evaluated_atom)
+
if not repoman and \
myuse is not None and isinstance(x, portage.dep.Atom) and x.use:
if x.use.conditional:
@@ -6538,7 +6544,8 @@ def dep_check(depstring, mydbapi, mysettings, use="yes", mode=None, myuse=None,
# collapse one or more levels of indirection.
try:
mysplit = _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings,
- use=use, mode=mode, myuse=myuse, use_cache=use_cache,
+ use=use, mode=mode, myuse=myuse,
+ use_force=useforce, use_mask=mymasks, use_cache=use_cache,
use_binaries=use_binaries, myroot=myroot, trees=trees)
except portage.exception.ParseError, e:
return [0, str(e)]