public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:master commit in: pym/portage/package/ebuild/, pym/portage/dep/
@ 2011-05-09 20:30 Zac Medico
  0 siblings, 0 replies; only message in thread
From: Zac Medico @ 2011-05-09 20:30 UTC (permalink / raw
  To: gentoo-commits

commit:     6f9ee9c508c1506cdf8eb0dc46796dbe30f268db
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon May  9 20:30:04 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon May  9 20:30:04 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6f9ee9c5

dep_check: avoid old-style virtuals code

---
 pym/portage/dep/dep_check.py         |   15 +++++++++++++--
 pym/portage/package/ebuild/config.py |    6 +++++-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/pym/portage/dep/dep_check.py b/pym/portage/dep/dep_check.py
index 7ec01fa..53fce12 100644
--- a/pym/portage/dep/dep_check.py
+++ b/pym/portage/dep/dep_check.py
@@ -50,7 +50,6 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
 	repoman = not mysettings.local_config
 	if kwargs["use_binaries"]:
 		portdb = trees[myroot]["bintree"].dbapi
-	myvirtuals = mysettings.getvirtuals()
 	pprovideddict = mysettings.pprovideddict
 	myuse = kwargs["myuse"]
 	for x in mysplit:
@@ -76,7 +75,7 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
 			if atom_graph is not None:
 				atom_graph.add((x, id(x)), graph_parent)
 			continue
-		mychoices = myvirtuals.get(mykey, [])
+
 		if x.blocker:
 			# Virtual blockers are no longer expanded here since
 			# the un-expanded virtual atom is more useful for
@@ -93,6 +92,10 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
 			else:
 				# TODO: Add PROVIDE check for repoman.
 				a = []
+				myvartree = mytrees.get("vartree")
+				if myvartree is not None:
+					mysettings._populate_treeVirtuals_if_needed(myvartree)
+				mychoices = mysettings.getvirtuals().get(mykey, [])
 				for y in mychoices:
 					a.append(Atom(x.replace(x.cp, y.cp, 1)))
 				if not a:
@@ -114,6 +117,14 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
 			# only use new-style matches
 			if pkg.cp.startswith("virtual/"):
 				pkgs.append(pkg)
+
+		mychoices = []
+		if not pkgs and not portdb.cp_list(x.cp):
+			myvartree = mytrees.get("vartree")
+			if myvartree is not None:
+				mysettings._populate_treeVirtuals_if_needed(myvartree)
+			mychoices = mysettings.getvirtuals().get(mykey, [])
+
 		if not (pkgs or mychoices):
 			# This one couldn't be expanded as a new-style virtual.  Old-style
 			# virtuals have already been expanded by dep_virtual, so this one

diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 82d660d..e510795 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -1963,7 +1963,11 @@ class config(object):
 
 	def _populate_treeVirtuals_if_needed(self, vartree):
 		"""Reduce the provides into a list by CP."""
-		self._virtuals_manager.populate_treeVirtuals_if_needed(vartree)
+		if self._virtuals_manager._treeVirtuals is None:
+			if self.local_config:
+				self._virtuals_manager.populate_treeVirtuals_if_needed(vartree)
+			else:
+				self._virtuals_manager._treeVirtuals = {}
 
 	def __delitem__(self,mykey):
 		self.modifying()



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

only message in thread, other threads:[~2011-05-09 20:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-09 20:30 [gentoo-commits] proj/portage:master commit in: pym/portage/package/ebuild/, pym/portage/dep/ Zac Medico

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