diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/egencache | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/bin/egencache b/bin/egencache index 4bfb5be8f..515c6566d 100755 --- a/bin/egencache +++ b/bin/egencache @@ -347,9 +347,16 @@ class GenUseLocalDesc(object): level=logging.ERROR, noiselevel=-1) self.returncode |= 1 else: - usedict = parse_metadata_use(metadata) - for flag in sorted(usedict.keys()): - output.write('%s:%s - %s\n' % (cp, flag, usedict[flag])) + try: + usedict = parse_metadata_use(metadata) + except portage.exception.ParseError as e: + writemsg_level( + "ERROR: failed parsing %s/metadata.xml: %s\n" % (cp, e), + level=logging.ERROR, noiselevel=-1) + self.returncode |= 1 + else: + for flag in sorted(usedict.keys()): + output.write('%s:%s - %s\n' % (cp, flag, usedict[flag])) output.close() |