From 16f3856ff76aca1ee668a464aefa4102b3cccb22 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 8 May 2011 23:23:07 -0700 Subject: cpv_expand: populate old-style virts on demand If old-style virtuals code is triggered here and we are given a vartree, use it to avoid creating a temporary instance. --- pym/portage/dbapi/cpv_expand.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'pym') diff --git a/pym/portage/dbapi/cpv_expand.py b/pym/portage/dbapi/cpv_expand.py index 26f994887..b77c283f7 100644 --- a/pym/portage/dbapi/cpv_expand.py +++ b/pym/portage/dbapi/cpv_expand.py @@ -28,6 +28,8 @@ def cpv_expand(mycpv, mydb=None, use_cache=1, settings=None): mykey=mycpv if hasattr(mydb, "cp_list") and \ not mydb.cp_list(mykey, use_cache=use_cache): + if hasattr(mydb, "vartree"): + settings._populate_treeVirtuals_if_needed(mydb.vartree) virts = settings.getvirtuals().get(mykey) if virts: mykey_orig = mykey @@ -76,6 +78,8 @@ def cpv_expand(mycpv, mydb=None, use_cache=1, settings=None): mykey=matches[0] if not mykey and not isinstance(mydb, list): + if hasattr(mydb, "vartree"): + settings._populate_treeVirtuals_if_needed(mydb.vartree) virts_p = settings.get_virts_p().get(myp) if virts_p: mykey = virts_p[0] -- cgit v1.2.3-1-g7c22