summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 403caa7ef..eafaf46d3 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 52cbaa34c..f64169a9c 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: