#637094 xml-core: please validate XML catalogs before they are installed

#637094#5
Date:
2011-08-08 04:14:48 UTC
From:
To:
I'm really new to python :) but this seems wrong.  When the
gnustep-base-common package is installed, I get the following error.

$ python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/pymodules/python2.6/amara/__init__.py", line 11, in <module>
    import binderytools
  File "/usr/lib/pymodules/python2.6/amara/binderytools.py", line 13, in <module>
    from Ft.Xml import InputSource
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/InputSource.py", line 355, in <module>
    DefaultFactory = InputSourceFactory(catalog=GetDefaultCatalog())
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 579, in GetDefaultCatalog
    catalog = Catalog(uri, quiet)
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 95, in __init__
    self._parseXmlCat(data)
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 377, in _parseXmlCat
    p.parse(source)
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 476, in startElementNS
    delegate = Catalog(catalog, self.quiet)
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 95, in __init__
    self._parseXmlCat(data)
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 377, in _parseXmlCat
    p.parse(source)
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 476, in startElementNS
    delegate = Catalog(catalog, self.quiet)
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 95, in __init__
    self._parseXmlCat(data)
  File "/usr/lib/python2.6/dist-packages/Ft/Xml/Catalog.py", line 377, in _parseXmlCat
    p.parse(source)
xml.sax._exceptions.SAXParseException: file:///usr/share/xml/gnustep/gsdoc-1_0_0.dtd:41:0: syntax error

#637094#10
Date:
2011-08-08 13:44:27 UTC
From:
To:
clone 637052 -1 -2
reassign -1 gnustep-base-common
severity -1 important
retitle -1 gnustep-base-common: broken XML catalogs
severity -2 wishlist
reassign -2 xml-core
retitle -2 xml-core: please validate XML catalogs before they are installed
thanks

This is because XML catalog in gnustep-base-common does something like
this in postinst:
| update-xmlcatalog --add --type public --id "-//GNUstep//DTD gsdoc 0.6.5//EN" --package gnustep-base-common --local /usr/share/xml/gnustep/gsdoc-0_6_5.dtd

The parameter for --local is supposed to be a catalog, not a DTD.

However, perhaps it'd reasonable thing for amara to ignore broken
catalogs, rather than throw an exception.

Also, it'd nice if update-xmlcatalog (or dh_installcatalogs?) could do
some sanity checks.

#637094#25
Date:
2021-08-26 03:39:32 UTC
From:
To:
On Mon, 8 Aug 2011 15:44:27 +0200 Jakub Wilk <jwilk@debian.org> wrote:

...

 >
 > Also, it'd nice if update-xmlcatalog (or dh_installcatalogs?) could do
 > some sanity checks.
 >


Should we call xmllint in update-xmlcatalog?

      - Tommi Höynälänmaa