From: Zac Medico Date: Sun, 28 Jun 2009 20:37:50 +0000 (-0000) Subject: Fix Package.metadata USE conditional evaluation so that it's delayed until X-Git-Tag: v2.2_rc34~130 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=63cf7acf21bd855ddb693a1686b4c3ec9fff696c;p=portage.git 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 --- 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