aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/emerge5
-rwxr-xr-xbin/portageq3
-rw-r--r--pym/_emerge/__init__.py4
-rw-r--r--pym/portage/__init__.py78
4 files changed, 27 insertions, 63 deletions
diff --git a/bin/emerge b/bin/emerge
index 5901c2379..1ef575e13 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -13,10 +13,13 @@ except ImportError:
if __name__ == "__main__":
import sys
- from portage.exception import PermissionDenied
+ from portage.exception import ParseError, PermissionDenied
try:
retval = _emerge.emerge_main()
except PermissionDenied, e:
sys.stderr.write("Permission denied: '%s'\n" % str(e))
sys.exit(e.errno)
+ except ParseError, e:
+ sys.stderr.write("%s\n" % str(e))
+ sys.exit(1)
sys.exit(retval)
diff --git a/bin/portageq b/bin/portageq
index 0b7eab6fe..972a38392 100755
--- a/bin/portageq
+++ b/bin/portageq
@@ -459,6 +459,9 @@ def main():
except portage.exception.PermissionDenied, e:
sys.stderr.write("Permission denied: '%s'\n" % str(e))
sys.exit(e.errno)
+ except portage.exception.ParseError, e:
+ sys.stderr.write("%s\n" % str(e))
+ sys.exit(1)
except ValueError, e:
if not e.args or \
not hasattr(e.args[0], "__len__") or \
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index f5aa77631..0bebfef60 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -7188,7 +7188,3 @@ def emerge_main():
if "--pretend" in myopts:
display_news_notification(trees)
return retval
-
-if __name__ == "__main__":
- retval = emerge_main()
- sys.exit(retval)
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index bbb0c57a0..e32e16839 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -1213,74 +1213,36 @@ class config(object):
# make.globals should not be relative to config_root
# because it only contains constants.
- try:
- self.mygcfg = getconfig(os.path.join("/etc", "make.globals"))
+ self.mygcfg = getconfig(os.path.join("/etc", "make.globals"))
+
+ if self.mygcfg is None:
+ self.mygcfg = {}
- if self.mygcfg is None:
- self.mygcfg = {}
- except SystemExit, e:
- raise
- except Exception, e:
- if debug:
- raise
- writemsg("!!! %s\n" % (e), noiselevel=-1)
- if not isinstance(e, EnvironmentError):
- writemsg("!!! Incorrect multiline literals can cause " + \
- "this. Do not use them.\n", noiselevel=-1)
- sys.exit(1)
self.configlist.append(self.mygcfg)
self.configdict["globals"]=self.configlist[-1]
self.make_defaults_use = []
self.mygcfg = {}
if self.profiles:
- try:
- mygcfg_dlists = [getconfig(os.path.join(x, "make.defaults")) for x in self.profiles]
- for cfg in mygcfg_dlists:
- if cfg:
- self.make_defaults_use.append(cfg.get("USE", ""))
- else:
- self.make_defaults_use.append("")
- self.mygcfg = stack_dicts(mygcfg_dlists, incrementals=portage.const.INCREMENTALS, ignore_none=1)
- #self.mygcfg = grab_stacked("make.defaults", self.profiles, getconfig)
- if self.mygcfg is None:
- self.mygcfg = {}
- except SystemExit, e:
- raise
- except Exception, e:
- if debug:
- raise
- writemsg("!!! %s\n" % (e), noiselevel=-1)
- if not isinstance(e, EnvironmentError):
- writemsg("!!! 'rm -Rf /usr/portage/profiles; " + \
- "emerge sync' may fix this. If it does\n",
- noiselevel=-1)
- writemsg("!!! not then please report this to " + \
- "bugs.gentoo.org and, if possible, a dev\n",
- noiselevel=-1)
- writemsg("!!! on #gentoo (irc.freenode.org)\n",
- noiselevel=-1)
- sys.exit(1)
- self.configlist.append(self.mygcfg)
- self.configdict["defaults"]=self.configlist[-1]
-
- try:
- self.mygcfg = getconfig(
- os.path.join(config_root, MAKE_CONF_FILE.lstrip(os.path.sep)),
- allow_sourcing=True)
+ mygcfg_dlists = [getconfig(os.path.join(x, "make.defaults")) \
+ for x in self.profiles]
+ for cfg in mygcfg_dlists:
+ if cfg:
+ self.make_defaults_use.append(cfg.get("USE", ""))
+ else:
+ self.make_defaults_use.append("")
+ self.mygcfg = stack_dicts(mygcfg_dlists,
+ incrementals=portage.const.INCREMENTALS, ignore_none=1)
if self.mygcfg is None:
self.mygcfg = {}
- except SystemExit, e:
- raise
- except Exception, e:
- if debug:
- raise
- writemsg("!!! %s\n" % (e), noiselevel=-1)
- if not isinstance(e, EnvironmentError):
- writemsg("!!! Incorrect multiline literals can cause " + \
- "this. Do not use them.\n", noiselevel=-1)
- sys.exit(1)
+ self.configlist.append(self.mygcfg)
+ self.configdict["defaults"]=self.configlist[-1]
+ self.mygcfg = getconfig(
+ os.path.join(config_root, MAKE_CONF_FILE.lstrip(os.path.sep)),
+ allow_sourcing=True)
+ if self.mygcfg is None:
+ self.mygcfg = {}
# Don't allow the user to override certain variables in make.conf
profile_only_variables = self.configdict["defaults"].get(