Previously, <flag/>-related errors in metadata.xml caused repoman
to abort the checks without even reporting the full path to broken
metadata.xml file. Now they are accounted as 'metadata.bad' errors.
del e
else:
# load USE flags from metadata.xml
- utilities.parse_metadata_use(_metadata_xml, muselist)
+ try:
+ utilities.parse_metadata_use(_metadata_xml, muselist)
+ except portage.exception.ParseError as e:
+ metadata_bad = True
+ stats["metadata.bad"] += 1
+ fails["metadata.bad"].append("%s/metadata.xml: %s" % (x, e))
+ muselist = []
# Run other metadata.xml checkers
try:
flags = usetag[0].findall("flag")
if not flags:
- raise exception.ParseError("metadata.xml: " + \
- "Malformed input: missing 'flag' tag(s)")
+ raise exception.ParseError("missing 'flag' tag(s)")
for flag in flags:
pkg_flag = flag.get("name")
if pkg_flag is None:
- raise exception.ParseError("metadata.xml: " + \
- "Malformed input: missing 'name' attribute for 'flag' tag")
+ raise exception.ParseError("missing 'name' attribute for 'flag' tag")
uselist.append(pkg_flag)
return uselist