[libvirt] [PATCH] check for XHTML1 DTDs availability

Daniel Veillard veillard at redhat.com
Wed Aug 13 12:42:49 UTC 2008


On Wed, Aug 13, 2008 at 08:10:36AM -0400, Daniel Veillard wrote:
>   Well apparently the XSL output is post-processed by xmlling --valid --format
> which then introduce a dependancy on the XHTML1 DTDs . If you don't have them
> installed locally you will get validation error messages when building
> in docs and the output will diverge.
> 
>   The simplest solution for you is probably to make sure you have XHTML1
> DTDs installed in your local XML catalog, which on RHEL/Fedora is as simple
> as having the package xhtml1-dtds installed on your machine(s).

  The patch enclosed adds detection for the XHTML1 dtds at runtime on the 
build machine, and should solve the problem of diverging docs, replace the
XML validity warnings by a more general message and add the requirement
when building the RPM. I guess this should solve the issue

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/
-------------- next part --------------
Index: configure.in
===================================================================
RCS file: /data/cvs/libxen/configure.in,v
retrieving revision 1.158
diff -u -r1.158 configure.in
--- configure.in	29 Jul 2008 08:42:56 -0000	1.158
+++ configure.in	13 Aug 2008 12:38:02 -0000
@@ -97,6 +97,7 @@
 AC_PATH_PROG([MV], [mv], [/bin/mv])
 AC_PATH_PROG([TAR], [tar], [/bin/tar])
 AC_PATH_PROG([XMLLINT], [xmllint], [/usr/bin/xmllint])
+AC_PATH_PROG([XMLCATALOG], [xmlcatalog], [/usr/bin/xmlcatalog])
 AC_PATH_PROG([XSLTPROC], [xsltproc], [/usr/bin/xsltproc])
 
 AC_PROG_MKDIR_P
Index: libvirt.spec.in
===================================================================
RCS file: /data/cvs/libxen/libvirt.spec.in,v
retrieving revision 1.89
diff -u -r1.89 libvirt.spec.in
--- libvirt.spec.in	8 Aug 2008 14:27:05 -0000	1.89
+++ libvirt.spec.in	13 Aug 2008 12:38:02 -0000
@@ -72,6 +72,7 @@
 BuildRequires: xen-devel
 %endif
 BuildRequires: libxml2-devel
+BuildRequires: xhtml1-dtds
 BuildRequires: readline-devel
 BuildRequires: ncurses-devel
 BuildRequires: gettext
Index: docs/Makefile.am
===================================================================
RCS file: /data/cvs/libxen/docs/Makefile.am,v
retrieving revision 1.25
diff -u -r1.25 Makefile.am
--- docs/Makefile.am	28 Apr 2008 08:29:35 -0000	1.25
+++ docs/Makefile.am	13 Aug 2008 12:38:02 -0000
@@ -94,18 +94,22 @@
 	  $(XSLTPROC) --stringparam pagename $$name --nonet --html $(top_srcdir)/docs/site.xsl $< > $@ || (rm $@ && exit 1) ; fi )
 
 %.html: %.html.tmp
-	@(if [ -x $(XMLLINT) ] ; then \
+	@(if [ -x $(XMLLINT) -a -x $(XMLCATALOG) ] ; then \
+	  if $(XMLCATALOG) /etc/xml/catalog "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > /dev/null ; then \
 	  echo "Validating $@" ; \
-	  $(XMLLINT) --nonet --format --valid $< > $@ || : ; fi );
+	  $(XMLLINT) --nonet --format --valid $< > $@ || : ; \
+	  else echo "missing XHTML1 DTD" ; fi ; fi );
 
 
 $(srcdir)/html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
 	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML pages from the XML API" ; \
 	  $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi )
-	-@(if [ -x $(XMLLINT) ] ; then \
+	-@(if [ -x $(XMLLINT) -a -x $(XMLCATALOG) ] ; then \
+	  if $(XMLCATALOG) /etc/xml/catalog "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > /dev/null ; then \
 	  echo "Validating the resulting XHTML pages" ; \
-	  $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout html/*.html ; \
+	  else echo "missing XHTML1 DTD" ; fi ; fi );
 
 libvirt-api.xml libvirt-refs.xml: apibuild.py \
 		$(srcdir)/../include/libvirt/*.h \


More information about the libvir-list mailing list