summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-12-07 21:55:51 +0000
committerZac Medico <zmedico@gentoo.org>2006-12-07 21:55:51 +0000
commite32ddbb0b19dbe110faee7f516756e3753cdb270 (patch)
tree638ce80613ec18138d8e319df6b33949e0cd038c
parentc9b0888ba71b5d740075ff998fb8574a8d704592 (diff)
downloadportage-e32ddbb0b19dbe110faee7f516756e3753cdb270.tar.gz
portage-e32ddbb0b19dbe110faee7f516756e3753cdb270.tar.bz2
portage-e32ddbb0b19dbe110faee7f516756e3753cdb270.zip
Share the same config instance between portagetree and portdbapi instances since clone isn't needed here. Also, trigger population of virtuals prior to cloning in emerge. This reduces the number of times the virtuals are populated from 3 to just 1.
svn path=/main/trunk/; revision=5206
-rwxr-xr-xbin/emerge2
-rw-r--r--pym/portage.py2
2 files changed, 3 insertions, 1 deletions
diff --git a/bin/emerge b/bin/emerge
index ba2f8de8f..44a9a6f80 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -752,6 +752,8 @@ class depgraph:
self.trees[myroot][tree] = trees[myroot][tree]
self.trees[myroot]["vartree"] = \
FakeVartree(trees[myroot]["vartree"])
+ # Make sure the virtuals are populated before cloning.
+ trees[myroot]["vartree"].settings.getvirtuals()
self.pkgsettings[myroot] = portage.config(
clone=self.trees[myroot]["vartree"].settings)
self.pkg_node_map[myroot] = {}
diff --git a/pym/portage.py b/pym/portage.py
index 61bffdc96..9881d227d 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -4264,7 +4264,7 @@ class portagetree:
self.portroot=settings["PORTDIR"]
self.virtual=virtual
self.dbapi = portdbapi(
- settings["PORTDIR"], mysettings=config(clone=settings))
+ settings["PORTDIR"], mysettings=settings)
def dep_bestmatch(self,mydep):
"compatibility method"