diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-12 00:01:26 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-12 00:01:26 +0000 |
commit | aa7f1250b0454f95f037486e0b27cdfdd225bb95 (patch) | |
tree | 3722e14ab9bd1578958aaa913558ccdcd5735eac /pym/portage_util.py | |
parent | 9513888e4dfdcb5cb2892f8490ec93f6e2518b65 (diff) | |
download | portage-aa7f1250b0454f95f037486e0b27cdfdd225bb95.tar.gz portage-aa7f1250b0454f95f037486e0b27cdfdd225bb95.tar.bz2 portage-aa7f1250b0454f95f037486e0b27cdfdd225bb95.zip |
Fix the variable subsitution code from bug #221755 so that variable
assignments from earlier files don't leak into variable assignments
from later files (except through substitution). (trunk r10294:10297)
svn path=/main/branches/2.1.2/; revision=10298
Diffstat (limited to 'pym/portage_util.py')
-rw-r--r-- | pym/portage_util.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pym/portage_util.py b/pym/portage_util.py index e75e0cb15..b9fc90354 100644 --- a/pym/portage_util.py +++ b/pym/portage_util.py @@ -309,10 +309,11 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): if isinstance(expand, dict): # Some existing variable definitions have been # passed in, for use in substitutions. - mykeys = expand.copy() + expand_map = expand expand = True else: - mykeys = {} + expand_map = {} + mykeys = {} try: f=open(mycfg,'r') except IOError, e: @@ -371,7 +372,8 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): else: return mykeys if expand: - mykeys[key] = varexpand(val, mykeys) + mykeys[key] = varexpand(val, expand_map) + expand_map[key] = mykeys[key] else: mykeys[key] = val except SystemExit, e: |