summaryrefslogtreecommitdiffstats
path: root/bin/repoman
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-05-26 01:27:17 +0000
committerZac Medico <zmedico@gentoo.org>2007-05-26 01:27:17 +0000
commitd3c996bc15b2e9956c80fa18e024497b184ca267 (patch)
treef9247a83489f012a88e951f87a092889ed0c9c89 /bin/repoman
parent5042fdb6c41a91298030e7c5792ace44fa5d1b6b (diff)
downloadportage-d3c996bc15b2e9956c80fa18e024497b184ca267.tar.gz
portage-d3c996bc15b2e9956c80fa18e024497b184ca267.tar.bz2
portage-d3c996bc15b2e9956c80fa18e024497b184ca267.zip
xmlint can produce garbage output even on success, so only dump the ouput when it fails. See bug #179008. (trunk r6631)
svn path=/main/branches/2.1.2/; revision=6632
Diffstat (limited to 'bin/repoman')
-rwxr-xr-xbin/repoman11
1 files changed, 8 insertions, 3 deletions
diff --git a/bin/repoman b/bin/repoman
index 003caeb32..51b3ba535 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -968,10 +968,15 @@ for x in scanlist:
else:
#Only carry out if in package directory or check forced
if xmllint_capable:
- st = spawn(["xmllint", "--nonet", "--noout", "--nowarning", "--dtdvalid",
- metadata_dtd, os.path.join(checkdir, "metadata.xml")])
+ # xmlint can produce garbage output even on success, so only dump
+ # the ouput when it fails.
+ st, out = getstatusoutput(
+ "xmllint --nonet --noout --dtdvalid '%s' '%s'" % \
+ (metadata_dtd, os.path.join(checkdir, "metadata.xml")))
if st != os.EX_OK:
- print red("!!! metadata.xml is invalid")
+ print red("!!!") + " metadata.xml is invalid:"
+ for z in out.splitlines():
+ print red("!!! ")+z
stats["metadata.bad"]+=1
fails["metadata.bad"].append(x+"/metadata.xml")