From 63cf7acf21bd855ddb693a1686b4c3ec9fff696c Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 28 Jun 2009 20:37:50 +0000 Subject: Fix Package.metadata USE conditional evaluation so that it's delayed until after config.setcpv() has calculated PORTAGE_USE. Thanks to Arfrever for reporting. svn path=/main/trunk/; revision=13729 --- pym/portage/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'pym') diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 41da40cf7..720bf0d4b 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -2250,9 +2250,12 @@ class config(object): if mydb: if not hasattr(mydb, "aux_get"): for k in aux_keys: - v = mydb.get(k) - if v is not None: - pkg_configdict[k] = v + if k in mydb: + # Make these lazy, since __getitem__ triggers + # evaluation of USE conditionals which can't + # occur until PORTAGE_USE is calculated below. + pkg_configdict.addLazySingleton(k, + mydb.__getitem__, k) else: for k, v in izip(aux_keys, mydb.aux_get(self.mycpv, aux_keys)): pkg_configdict[k] = v -- cgit v1.2.3-1-g7c22