From f40cfd27beeb39d1027e59f4bd70c951d22a9f0f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 27 May 2008 05:42:28 +0000 Subject: [PATCH] Repoman only checks IUSE for USE deps, so don't evaluate conditional USE deps in this case. svn path=/main/trunk/; revision=10446 --- pym/portage/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index d9021a466..1ff6f25b8 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -5410,6 +5410,7 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/", # for new-style virtuals. Repoman should enforce this. dep_keys = ["RDEPEND", "DEPEND", "PDEPEND"] portdb = trees[myroot]["porttree"].dbapi + repoman = isinstance(mydbapi, portdbapi) if kwargs["use_binaries"]: portdb = trees[myroot]["bintree"].dbapi myvirtuals = mysettings.getvirtuals() @@ -5431,7 +5432,10 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/", raise portage.exception.ParseError( "invalid atom: '%s'" % x) - if isinstance(x, portage.dep.Atom) and x.use: + # Repoman only checks IUSE for USE deps, so there's + # no need to evaluate conditionals. + if not repoman and \ + myuse is not None and isinstance(x, portage.dep.Atom) and x.use: if x.use.conditional: evaluated_atom = portage.dep.remove_slot(x) if x.slot: -- 2.26.2