public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] portage r9839 - main/trunk/pym/portage
@ 2008-04-11 20:11 Zac Medico (zmedico)
  0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2008-04-11 20:11 UTC (permalink / raw
  To: gentoo-commits

Author: zmedico
Date: 2008-04-11 20:11:31 +0000 (Fri, 11 Apr 2008)
New Revision: 9839

Modified:
   main/trunk/pym/portage/__init__.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.


Modified: main/trunk/pym/portage/__init__.py
===================================================================
--- main/trunk/pym/portage/__init__.py	2008-04-11 19:55:50 UTC (rev 9838)
+++ main/trunk/pym/portage/__init__.py	2008-04-11 20:11:31 UTC (rev 9839)
@@ -5364,12 +5364,16 @@
 		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))
+			use_split = db.aux_get(cpv, ["USE"])[0].split()
+			pkg_kwargs = kwargs.copy()
+			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@lists.gentoo.org mailing list



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-04-11 20:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-11 20:11 [gentoo-commits] portage r9839 - main/trunk/pym/portage Zac Medico (zmedico)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox