[PATCH] doc: Create a script to filter xmlto output
Peter Hutterer
peter.hutterer at who-t.net
Mon Jan 5 14:18:56 PST 2015
On Sun, Jan 04, 2015 at 10:11:46PM -0800, Keith Packard wrote:
> Peter Hutterer <peter.hutterer at who-t.net> 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 <peter.hutterer at who-t.net>
>
> 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 <keithp at keithp.com>
> 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 <keithp at keithp.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Cheers,
Peter
> ---
> 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
>
More information about the xorg-devel
mailing list