diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-08-14 19:30:19 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-08-14 19:30:19 +0000 |
commit | 6ce970a6a2462fcc07d4b0b2551ffa0c7dd9b338 (patch) | |
tree | 209be259baf0ded95c2a1a296e5aaab58421b04c | |
parent | d71635379d9ec803fed0a0f63a8f780b283e887c (diff) | |
download | portage-6ce970a6a2462fcc07d4b0b2551ffa0c7dd9b338.tar.gz portage-6ce970a6a2462fcc07d4b0b2551ffa0c7dd9b338.tar.bz2 portage-6ce970a6a2462fcc07d4b0b2551ffa0c7dd9b338.zip |
Convert exceptions from parse_metadata_use() into "metadata.bad" errors
instead of exiting.
svn path=/main/trunk/; revision=11410
-rwxr-xr-x | bin/repoman | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/bin/repoman b/bin/repoman index 18be8e5aa..932cf4c99 100755 --- a/bin/repoman +++ b/bin/repoman @@ -999,8 +999,21 @@ for x in scanlist: fails["metadata.missing"].append(x+"/metadata.xml") #metadata.xml parse check else: + metadata_bad = False + + # load USE flags from metadata.xml + try: + f = open(os.path.join(checkdir, "metadata.xml")) + utilities.parse_metadata_use(f, muselist) + f.close() + except (EnvironmentError, ParseError), e: + metadata_bad = True + stats["metadata.bad"] += 1 + fails["metadata.bad"].append("%s/metadata.xml: %s" % (x, e)) + del e + #Only carry out if in package directory or check forced - if xmllint_capable: + if xmllint_capable and not metadata_bad: # xmlint can produce garbage output even on success, so only dump # the ouput when it fails. st, out = commands.getstatusoutput( @@ -1013,14 +1026,7 @@ for x in scanlist: stats["metadata.bad"]+=1 fails["metadata.bad"].append(x+"/metadata.xml") - #load USE flags from metadata.xml - try: - f = open(os.path.join(checkdir, "metadata.xml")) - utilities.parse_metadata_use(f, muselist) - f.close() - except (EnvironmentError, ParseError), e: - logging.exception("Couldn't read from metadata.xml") - sys.exit(1) + del metadata_bad allmasked = True |