From: Zac Medico Date: Mon, 30 Jul 2007 05:17:28 +0000 (-0000) Subject: For bug #183431, catch a ParseError caused by a corrupt profile and dump an error... X-Git-Tag: v2.1.2.11~31 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=26ddda000ca1f678bf1e943d3f8a9588fbd17ca7;p=portage.git For bug #183431, catch a ParseError caused by a corrupt profile and dump an error message. This allows emerge to continue with actions that don't require a valid profile, such as --sync. (branches/2.1.2 r7074) svn path=/main/branches/2.1.2.9/; revision=7486 --- diff --git a/pym/portage.py b/pym/portage.py index 3f07785f8..e8c079d06 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -1099,7 +1099,14 @@ class config: "Parent '%s' not found: '%s'" % \ (parentPath, parentsFile)) self.profiles.append(currentPath) - addProfile(os.path.realpath(self.profile_path)) + try: + addProfile(os.path.realpath(self.profile_path)) + except portage_exception.ParseError, e: + writemsg("!!! Unable to parse profile: '%s'\n" % \ + self.profile_path, noiselevel=-1) + writemsg("!!! ParseError: %s\n" % str(e), noiselevel=-1) + del e + self.profiles = [] if local_config: custom_prof = os.path.join( config_root, CUSTOM_PROFILE_PATH.lstrip(os.path.sep))