[xml/sgml-pkgs] Bug#662091: help

Samuel Bronson naesten at gmail.com
Tue Mar 6 19:48:22 UTC 2012


On Mon, Mar 5, 2012 at 5:45 PM, Nicholas Bamber <nicholas at periapt.co.uk> wrote:
> Samuel,
>        I am sorry you had issues with w3c-sgml-lib. I put the package together
> because what went before (w3c-dtd-xhtml) could not be kept up with the
> w3C which I saw as the upstream. Some things I did in the package wee an
> attempt at backwards compatibility. However I am now busy with quite a
> few other things and I reckon you know how this stuff works better than
> I do. So I would really appreciate it if you were able to offer a patch.

Well, the simplest remedy for *this* problem would be to
remove/comment out both lines in debian/sgmlcatalog, e.g. using the
appended patch, but in poking around a bit, I ran into several other
problems:

First of all, there certainly *are* a bunch of broken symlinks:
http://lintian.debian.org/full/debian-xml-sgml-pkgs@lists.alioth.debian.org.html#w3c-sgml-lib
has a list of these.

Second, it installs copies of/links to the top-level "catalog.xml"
(and the translation to SGML Open Catalog format, "catalog") in
subdirectories (in the name of "compatability") which, like the copies
of sgml.soc and xml.soc presently installed in /usr/share/sgml/xhtml/,
reference other files using relative paths and are thus broken by
being relocated separately from them.

Third, it installs all of the upstream files under
/usr/share/xml/xhtml/schema/dtd/, even though:

 * The name of the package is "w3c-sgml-lib", which leads one to
expect things to be installed under /usr/share/sgml.

 * Several of the directories actually concern SGML-based versions of
HTML, and would seem more at home somewhere like /usr/share/sgml/html/

 * There are also a few directories devoted to things like MathML and
SVG, which, while they are XML applications, still aren't  XHTML and
so still seem out of place where they are.

Now, there *are* some good reasons to install this way:

 * Upstream's catalog files (catalog.xml, sgml.soc, and xml.soc) cater
to this layout.

 * They could probably be split between /usr/share/sgml and
/usr/share/xml, but it would be a pain to keep track of what went
where, make sure that everything got installed somewhere, and perhaps
also to get w3c-markup-validator to look in both places.

So, considering all of this, and the fact that you don't include all
of the same DTDs as w3c-dtd-xhtml, I would recommend that you relocate
everything to /usr/share/sgml/w3c-sgml-lib, (perhaps symlinked from
/usr/share/xml/w3c-sgml-lib ?), drop the Provides:/Conflicts: on
w3c-dtd-xhtml, declare a Breaks: on existing versions of
w3c-markup-validator, and upload a new version of the validator that
requires the new version of w3c-sgml-lib.

The justifications for this path being:

 * XML is a kind of SGML, but not the other way 'round, so if we're
going to install everything in one place, the SGML place is the better
of the two.

 * Since there is no one format [family] to name the directory after,
we go with the traditional rule "just use the package name".

Anyway, here's the patch to fix the immediate problem I encountered:

Index: debian/sgmlcatalogs
===================================================================
--- debian/sgmlcatalogs (revision 1916)
+++ debian/sgmlcatalogs (working copy)
@@ -1,3 +1,7 @@
-htdocs/sgml-lib/sgml.soc /usr/share/sgml/xhtml/sgml.soc
-htdocs/sgml-lib/xml.soc /usr/share/sgml/xhtml/xml.soc
+# There may be useful stuff in these, but they also set some
+# non-working default SGML declarations, so we can't safely add them
+# to the system-wide /etc/sgml/catalog.

+# htdocs/sgml-lib/sgml.soc /usr/share/sgml/xhtml/sgml.soc
+# htdocs/sgml-lib/xml.soc /usr/share/sgml/xhtml/xml.soc
+
Index: debian/changelog
===================================================================
--- debian/changelog    (revision 1916)
+++ debian/changelog    (working copy)
@@ -1,3 +1,14 @@
+w3c-sgml-lib (1.2-2~naesten1) unstable; urgency=low
+
+  * Don't link sgml.soc and xml.soc into /etc/sgml/catalog -- they are
+    specially crafted for use with w3c-markup-validator, and set things
+    that shouldn't be set globally.
+  * Also don't install sgml.soc and xml.soc into /etc/sgml/xhtml/ -- they
+    don't work there anyway, since they refer to many other files by
+    relative paths, none of which are found there.
+
+ -- Samuel Bronson <naesten at gmail.com>  Tue, 06 Mar 2012 13:13:13 -0500
+
 w3c-sgml-lib (1.2-1) unstable; urgency=low

   * New upstream release





More information about the debian-xml-sgml-pkgs mailing list