Bug 51478
Summary: | /etc/sgml/sgml-docbook.cat symlink is wrong | ||||||
---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Peter Bowen <pzbowen+rhbeta> | ||||
Component: | docbook-utils | Assignee: | Tim Waugh <twaugh> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | |||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 7.3 | CC: | agrajag, dcm | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | i386 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2002-02-05 18:05:15 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Peter Bowen
2001-08-10 20:09:00 UTC
But jade's default catalog is /etc/sgml/catalog. The symlink is 'the latest docbook version installed', and is there for convenience. If you know that you are using the latest docbook version, and you don't want jade to search _all_ the catalogs, you can point it at the symlink. It documents that it uses /etc/sgml/catalog, but experimentation shows that it uses /etc/sgml/sgml-docbook.cat when running commands like db2ps Please show me the steps to reproduce the problem; I don't see it. Thanks. Traced down the problem - it looks like it should be actually filed against docbook-utils. It only occurs when using a doctype that isn't standard docbook, such as the GNOME PNG Variant V1.0 that dcm wrote. To test this, and see the broken behaviour: Get the gnome-doc-tools-2-0 rpm from http://people.redhat.com/dcm/ and install it. Then try to do db2ps on the attached docbook file. It will fail because /usr/share/sgml/docbook/frontends/docbook is trying to find /etc/sgml/sgml-docbook-1.0.cat. If this file doesn't exist, the fallback is to use /etc/sgml/sgml-docbook.cat which doesn't know about the doctype either. I imagine that this was done so that documents without any doctype at all could be compiled/converted, but it breaks the GNOME doc stuff (and anyone else with a custom doctype) Created attachment 27396 [details]
Non-working docbook file
Thanks. In that case it should fall back to /etc/sgml/catalog as you suggested. Come to think of it, the docbook-utils way of handling this is probably to create a new frontend. cp /usr/share/sgml/docbook/utils-0.6.9/frontends/docbook{,-png} and fix up docbook-png so that it figures out the version number needed or falls back to the symlink (i.e. change the regexp). That will make it faster anyway. I've mentioned this to the maintainer, so we'll see what he says. But IMHO the png frontend is the way forward. The maintainer's view is that the DTD's FPI is wrong, and that you should have to use -c explicitly (just like the KDE people do, apparently). If the DTD's FPI were derived using the algorithm that TDG mentions, this would work. However, it isn't. I think the correct one would be something like: -//GNOME//DTD DocBook V3.1-Based PNG Variant V1.0//EN Well it is too late to change the FPI now - this is in use throughout the GNOME project. I have been pleading with people to start using DB 4.1 since it handles png's fine. I don't know any other way to handle this in my gnome-doc-tools package - we have to use -c I am still unclear as to why the fallback isn't /etc/sgml/catalog. It seems from the code that it tried sgml-docbook-{verison}.cat, then tried sgml-docbook.cat. It there an advantage to falling back to /etc/sgml/sgml-docbook.cat? Eric Bischoff claims that there are 'various technical problems' with falling back to /etc/sgml/catalog, although he hasn't explained exactly what they are. urrrgh! (sorry, blatent waste of bugzilla space) Oh, I've thought of a technical problem: XML tools might not understand full SGML, and so pointing them to SGML DTDs is bad. Here's the current docbook-utils docbook frontend code: centralized-catalog) SGML_VERSION=[hairy regexp that gets confused by PNG-variant] if [ -f ${SGML_CATALOGS_DIR}/${SGML_XML}-docbook-${SGML_VERSION}.cat ] then echo "[...]${SGML_XML}-docbook-${SGML_VERSION}.cat" else echo "[...]/${SGML_XML}-docbook.cat" fi ;; If we change '${SGML_XML}-docbook.cat' to 'catalog', that's bad if SGML_XML is 'xml' (i.e. it's DocBook XML). So how about this: elif [ "${SGML_XML}" != "sgml" ] then echo "[...]/${SGML_XML}-docbook.cat" else echo "[...]/catalog" fi Fixed in 0.6.9-21. |