summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-10-06 03:28:25 +0000
committerZac Medico <zmedico@gentoo.org>2006-10-06 03:28:25 +0000
commitfb1a654e2ef880342a610ce1d4a2bfc87a2f737d (patch)
tree05ddef780bf143900b84bef6f9df27de3678ff66
parentFor bug #14215, put the shlex parser in posix mode so that it properly recogn... (diff)
downloadportage-idfetch-fb1a654e2ef880342a610ce1d4a2bfc87a2f737d.tar.gz
portage-idfetch-fb1a654e2ef880342a610ce1d4a2bfc87a2f737d.tar.bz2
portage-idfetch-fb1a654e2ef880342a610ce1d4a2bfc87a2f737d.zip
Don't call varexpand inside getconfig for env.d/profile.env values.
svn path=/main/trunk/; revision=4603
-rw-r--r--pym/portage.py6
-rw-r--r--pym/portage_util.py7
2 files changed, 8 insertions, 5 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 403caa7e..eafaf46d 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -570,7 +570,7 @@ def env_update(makelinks=1, target_root=None, prev_mtimes=None):
for x in fns:
file_path = os.path.join(envd_dir, x)
try:
- myconfig = getconfig(file_path)
+ myconfig = getconfig(file_path, expand=False)
except portage_exception.ParseError, e:
writemsg("!!! '%s'\n" % str(e), noiselevel=-1)
del e
@@ -1127,7 +1127,7 @@ class config:
del blacklisted, cfg
env_d = getconfig(
- os.path.join(target_root, "etc", "profile.env"))
+ os.path.join(target_root, "etc", "profile.env"), expand=False)
# env_d will be None if profile.env doesn't exist.
if env_d:
self.configdict["env.d"].update(env_d)
@@ -1530,7 +1530,7 @@ class config:
# We grab the latest profile.env here since it changes frequently.
self.configdict["env.d"].clear()
env_d = getconfig(
- os.path.join(self["ROOT"], "etc", "profile.env"))
+ os.path.join(self["ROOT"], "etc", "profile.env"), expand=False)
if env_d:
# env_d will be None if profile.env doesn't exist.
self.configdict["env.d"].update(env_d)
diff --git a/pym/portage_util.py b/pym/portage_util.py
index 52cbaa34..f64169a9 100644
--- a/pym/portage_util.py
+++ b/pym/portage_util.py
@@ -226,7 +226,7 @@ def writedict(mydict,myfilename,writekey=True):
return 0
return 1
-def getconfig(mycfg,tolerant=0,allow_sourcing=False):
+def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True):
mykeys={}
try:
f=open(mycfg,'r')
@@ -276,7 +276,10 @@ def getconfig(mycfg,tolerant=0,allow_sourcing=False):
raise portage_exception.CorruptionError("ParseError: Unexpected EOF: "+str(mycfg)+": line "+str(lex.lineno))
else:
return mykeys
- mykeys[key]=varexpand(val,mykeys)
+ if expand:
+ mykeys[key] = varexpand(val, mykeys)
+ else:
+ mykeys[key] = val
except SystemExit, e:
raise
except Exception, e: