Subject: xmlcatalog and bad xml/catalog
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 10/08/2003 17:47:59
(I also Bcc'd this to xmlcatmgr maintainer and developer.)

scrollkeeper failed to build for me. It stopped during the ./configure
like:

checking for docbook-dtd412-xml... /usr/share/xml/catalog:8: error: error
parsing attribute name
org\/glade-2\.0\.dtd"
uri="\/usr\/X11R6\/share\/xml\/libglade\/glade-2\.0\.dtd"
^
/usr/share/xml/catalog:8: error: attributes construct error
...
  <nextCatalog catalog="\/usr\/share\/xml\/docbook\/catalog" \/>
                                                             ^

Each error showed with a carat^ the error.

This configure runs:
xmlcatalog ${prefix}/share/xml/catalog "-//OASIS//DTD DocBook XML V4.2//EN"

Anyways, my share/xml/catalog was corrupted. As the errors above showed,
the slashes on two lines were all escaped like \/.
So I fix it and scrollkeeper configured and built fine.

I don't know much about this, but the lines were related to
libglade/glade-2.0, so I assume the libglade2-2.0.1nb10 package must have
added these.

I also have a etc/xml/catalog file which has similar escaped \/ line (but
I don't know what added that).

I see that docbook, iso8879, libglade2 all have +DEINSTALL has:
XML_CATALOG pointing to my share/xml/catalog file.

And libxml2 has +BUILD_INFO that includes -DXML_XML_DEFAULT_CATALOG to my
etc/xml/catalog file.

I think xmlcatmgr provides the ${prefix}/share/xml/catalog file and
etc/xml/catalog files.

xmlcatmgr's +INSTALL and +DEINSTALL includes my etc/xml/catalog in the
CONF_FILES and share/xml/catalog in the SUPPORT_FILES.

Is there a tool for quickly telling me what packages a etc/ configuration
file belongs too?

I looked at the libglade-2.0.1/Makefile and regular pkgsrc makefile to see
what installed this corrupted entry.

I see:

XML_ENTRIES=    system http://glade.gnome.org/glade-2.0.dtd \
                ${PREFIX}/share/xml/libglade/glade-2.0.dtd

XML_ENTRIES is not in Packages.txt nor in the mk files. But I see it is in
textproc/xmlcatmgr/catalogs.mk. This was used to make the
libglade2-2.0.1nb10/+INSTALL.

The XML_ENTRIES looked fine in that install script.

I ran it again and remade my catalog file with those escaped slashes.

Any ideas?


   Jeremy C. Reed
   http://bsd.reedmedia.net/