summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2015-01-04 19:13:35 -0800
committerKeith Packard <keithp@keithp.com>2015-01-05 14:24:06 -0800
commit23a11fd85e12e94d29ee6d33715ac49684867b16 (patch)
tree2862d196764d721c341f3e813d1b6f61c6f48f40
parent1c01633877caa4239f901f02fbe113926318d030 (diff)
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 <keithp@keithp.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--devbook.am10
-rw-r--r--doc/Makefile.am2
-rwxr-xr-xdoc/filter-xmlto.sh21
3 files changed, 28 insertions, 5 deletions
diff --git a/devbook.am b/devbook.am
index 400b2ca55..edddc863d 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 e6974fef1..b305f4db7 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 000000000..3596ed13a
--- /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