Peter Hutterer <[email protected]> writes:

> not 100% sure but should this use $(SHELL)?

Yes.

> also, you probably need to add this to EXTRA_DIST

And, I should add a '.sh' extension, to be consistent.

> other than that a very handwavy Acked-by: Peter Hutterer 
> <[email protected]>

thanks. Here's an updated patch which fixes those, and filters xmlto
output even harder so that it now generates no output in the normal case
for me.

From 6ac3a081f5fbe38eeb9fe6d92efe3111e6dc4a77 Mon Sep 17 00:00:00 2001
From: Keith Packard <[email protected]>
Date: Sun, 4 Jan 2015 19:13:35 -0800
Subject: [PATCH] doc: Create a script to filter xmlto output

This reduces the build log spam while still preserving the xmlto
status to catch build failures correctly.

Signed-off-by: Keith Packard <[email protected]>
---
 devbook.am          | 10 ++++++----
 doc/Makefile.am     |  2 +-
 doc/filter-xmlto.sh | 21 +++++++++++++++++++++
 3 files changed, 28 insertions(+), 5 deletions(-)
 create mode 100755 doc/filter-xmlto.sh

diff --git a/devbook.am b/devbook.am
index 400b2ca..edddc86 100644
--- a/devbook.am
+++ b/devbook.am
@@ -20,6 +20,8 @@ noinst_DATA =
 # DocBook/XML file with chapters, appendix and images it includes
 dist_noinst_DATA = $(docbook) $(chapters)
 
+FILTER_XMLTO=$(SHELL) $(top_srcdir)/doc/filter-xmlto.sh $(XMLTO)
+
 if HAVE_STYLESHEETS
 
 XMLTO_HTML_FLAGS = 					\
@@ -29,12 +31,12 @@ XMLTO_HTML_FLAGS = 					\
 
 noinst_DATA += $(docbook:.xml=.html)
 %.html: %.xml  $(chapters)
-	$(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) xhtml-nochunks $<
+	$(AM_V_GEN)$(FILTER_XMLTO) $(XMLTO_HTML_FLAGS) xhtml-nochunks $<
 
 if HAVE_XMLTO_TEXT
 noinst_DATA += $(docbook:.xml=.txt)
 %.txt: %.xml $(chapters)
-	$(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) txt $<
+	$(AM_V_GEN)$(FILTER_XMLTO) $(XMLTO_HTML_FLAGS) txt $<
 endif HAVE_XMLTO_TEXT
 
 if HAVE_FOP
@@ -46,9 +48,9 @@ XMLTO_FO_FLAGS = 					\
 
 noinst_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
 %.pdf: %.xml $(chapters)
-	$(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop pdf $<
+	$(AM_V_GEN)$(FILTER_XMLTO) $(XMLTO_FO_FLAGS) --with-fop pdf $<
 %.ps: %.xml $(chapters)
-	$(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop ps $<
+	$(AM_V_GEN)$(FILTER_XMLTO) $(XMLTO_FO_FLAGS) --with-fop ps $<
 endif HAVE_FOP
 endif HAVE_STYLESHEETS
 
diff --git a/doc/Makefile.am b/doc/Makefile.am
index e6974fe..b305f4d 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -12,4 +12,4 @@ include $(top_srcdir)/devbook.am
 endif HAVE_XMLTO
 endif ENABLE_DEVEL_DOCS
 
-EXTRA_DIST = smartsched
+EXTRA_DIST = smartsched filter-xmlto.sh
diff --git a/doc/filter-xmlto.sh b/doc/filter-xmlto.sh
new file mode 100755
index 0000000..3596ed1
--- /dev/null
+++ b/doc/filter-xmlto.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+# Run the xmlto command, filtering its output to
+# reduce the amount of useless warnings in the build log.
+#
+# Exit with the status of the xmlto process, not the status of the
+# output filtering commands
+#
+# This is a bit twisty, but avoids any temp files by using pipes for
+# everything. It routes the command output through file
+# descriptor 4 while sending the (numeric) exit status through
+# standard output.
+#
+(((("$@" 2>&1; echo $? >&3) |
+       grep -v overflows |
+       grep -v 'Making' |
+       grep -v 'hyphenation' |
+       grep -v 'Font.*not found' |
+       grep -v '/tmp/xml' |
+       grep -v Rendered >&4) 3>&1) |
+     (read status; exit $status)) 4>&1
-- 
2.1.4

-- 
-keith

Attachment: signature.asc
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to