[libvirt] [PATCH] docs: Create html documentation even if XHTML1 DTD is not available to validate

Michal Privoznik mprivozn at redhat.com
Thu Dec 4 11:01:34 UTC 2014


On 28.11.2014 15:36, Ian Campbell wrote:
> On a Debian system lacking the w3c-dtd-xhtml package the build fails
> with:
>
>          $ make -C docs/ formatcaps.html
>          make: Entering directory '/local/scratch/ianc/devel/libvirt.git/docs'
>          Generating formatcaps.html.tmp
>          I/O error : Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
>          formatcaps.html.in:2: warning: failed to load external entity "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>          C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>                                                                                         ^
>          I/O error : Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
>          ../docs/sitemap.html.in:2: warning: failed to load external entity "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>          C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>                                                                                         ^
>          missing XHTML1 DTD
>          rm formatcaps.html.tmp
>          make: Leaving directory '/local/scratch/ianc/devel/libvirt.git/docs'
>          $ ls docs/formatcaps*
>          docs/formatcaps.html.in
>
> https://www.redhat.com/archives/libvir-list/2009-November/msg00413.html
> suggests that the XHTML1 DTD should not be a hard requirement and the
> docs should be generated but not validated if it is not available.
>
> Therefore when the DTD is not available arrange for the .html.tmp file
> to be propagated to the .html output.
>
> Signed-off-by: Ian Campbell <ian.campbell at citrix.com>
> Cc: Daniel Veillard <veillard at redhat.com>
> ---
>   docs/Makefile.am | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/docs/Makefile.am b/docs/Makefile.am
> index 5485ee9..c5ba688 100644
> --- a/docs/Makefile.am
> +++ b/docs/Makefile.am
> @@ -232,7 +232,7 @@ internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
>   	  SGML_CATALOG_FILES='$(XML_CATALOG_FILE)' \
>   	  $(XMLLINT) --catalogs --nonet --format --valid $< > $(srcdir)/$@ \
>   	  || { rm $(srcdir)/$@ && exit 1; }; \
> -	  else echo "missing XHTML1 DTD" ; fi ; fi
> +	  else echo "missing XHTML1 DTD"; cat $< > $(srcdir)/$@ ; fi ; fi
>
>   %.php.tmp: %.php.in site.xsl page.xsl sitemap.html.in
>   	@if [ -x $(XSLTPROC) ] ; then \
> @@ -258,7 +258,7 @@ html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
>   	    > /dev/null ; then \
>   	  SGML_CATALOG_FILES='$(XML_CATALOG_FILE)' \
>   	  $(XMLLINT) --catalogs --nonet --valid --noout $(srcdir)/html/*.html ; \
> -	  else echo "missing XHTML1 DTD" ; fi ; fi
> +	  else echo "missing XHTML1 DTD"; cat $< > $(srcdir)/$@ ; fi ; fi
>
>   $(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
>   	$(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \
>

I believe that running xmllint on Linux is successful. It surely is on 
systems that are missing the package.

ACKed and pushed.

Michal




More information about the libvir-list mailing list