diff options
-rwxr-xr-x | bin/emerge | 5 | ||||
-rwxr-xr-x | bin/portageq | 3 | ||||
-rw-r--r-- | pym/_emerge/__init__.py | 4 | ||||
-rw-r--r-- | pym/portage/__init__.py | 78 |
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( |