Author: zmedico
Date: 2008-04-11 20:29:47 +0000 (Fri, 11 Apr 2008)
New Revision: 9841
Modified:
main/branches/2.1.2/pym/portage.py
Log:
When dep_check() expands new-style virtuals, use USE flags from aux_get
calls to evaluate any conditionals that the depstrings might contain. This
works properly for ebuilds now that aux_get() is backed by Package instances
containing the correct USE. (trunk r9838:9840)
Modified: main/branches/2.1.2/pym/portage.py
===================================================================
--- main/branches/2.1.2/pym/portage.py 2008-04-11 20:23:01 UTC (rev 9840)
+++ main/branches/2.1.2/pym/portage.py 2008-04-11 20:29:47 UTC (rev 9841)
@@ -5361,12 +5361,21 @@
else:
a = ['||']
for y in pkgs:
- depstring = " ".join(y[2].aux_get(y[0], dep_keys))
+ cpv, pv_split, db = y
+ depstring = " ".join(db.aux_get(cpv, dep_keys))
+ pkg_kwargs = kwargs.copy()
+ if isinstance(db, portdbapi):
+ # for repoman
+ pass
+ else:
+ # for emerge
+ use_split = db.aux_get(cpv, ["USE"])[0].split()
+ pkg_kwargs["myuse"] = use_split
if edebug:
print "Virtual Parent: ", y[0]
print "Virtual Depstring:", depstring
mycheck = dep_check(depstring, mydbapi, mysettings, myroot=myroot,
- trees=trees, **kwargs)
+ trees=trees, **pkg_kwargs)
if not mycheck[0]:
raise portage_exception.ParseError(
"%s: %s '%s'" % (y[0], mycheck[1], depstring))
--
gentoo-commits@g.o mailing list
|