summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-07-31 01:51:11 +0000
committerZac Medico <zmedico@gentoo.org>2006-07-31 01:51:11 +0000
commit1e148cbf9e6ee8ba5f378984b3d491fe00b90532 (patch)
treef65043ba4e82a2be25531cd13790183a9f325338
parente159e90133c5a7cf908e2dde6fe1489fdd882220 (diff)
downloadportage-1e148cbf9e6ee8ba5f378984b3d491fe00b90532.tar.gz
portage-1e148cbf9e6ee8ba5f378984b3d491fe00b90532.tar.bz2
portage-1e148cbf9e6ee8ba5f378984b3d491fe00b90532.zip
Catch ParseError from getconfig during env_update for bug #142157.
svn path=/main/trunk/; revision=4050
-rw-r--r--pym/portage.py9
-rw-r--r--pym/portage_util.py2
2 files changed, 6 insertions, 5 deletions
diff --git a/pym/portage.py b/pym/portage.py
index b0c6b1102..e2456d280 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -494,10 +494,11 @@ def env_update(makelinks=1, target_root=None, prev_mtimes=None):
if x[-1]=='~' or x[-4:]==".bak":
continue
file_path = os.path.join(envd_dir, x)
- myconfig = getconfig(file_path)
- if myconfig is None:
- writemsg("!!! Parsing error in '%s'\n" % file_path, noiselevel=-1)
- #parse error
+ try:
+ myconfig = getconfig(file_path)
+ except portage_exception.ParseError, e:
+ writemsg("!!! %s'\n" % str(e), noiselevel=-1)
+ del e
continue
# process PATH, CLASSPATH, LDPATH
for myspec in specials.keys():
diff --git a/pym/portage_util.py b/pym/portage_util.py
index 7a37d980d..bdd934ec3 100644
--- a/pym/portage_util.py
+++ b/pym/portage_util.py
@@ -279,7 +279,7 @@ def getconfig(mycfg,tolerant=0,allow_sourcing=False):
except SystemExit, e:
raise
except Exception, e:
- raise e.__class__, str(e)+" in "+mycfg
+ raise portage_exception.ParseError(str(e)+" in "+mycfg)
return mykeys
#cache expansions of constant strings