Bug 247861

Summary: FindDocBookXML.cmake can not handle DTDs more recent than v4.2
Product: [I don't know] kde Reporter: Artem Anisimov <aanisimov>
Component: generalAssignee: Luigi Toscano <luigi.toscano>
Status: RESOLVED NOT A BUG    
Severity: normal CC: kde-docbook, luigi.toscano
Priority: NOR    
Version: 4.5   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Artem Anisimov 2010-08-14 17:26:17 UTC
Version:           4.5 (using KDE 4.5.0) 
OS:                Linux

When searching for docbook DTDs, FindDocBookXML looks for v4.2 DTDs only, but not for DTDs with version >= 4.2. This causes build failures on systems that have the latest (v4.5) DTDs installed.

Reproducible: Always

Steps to Reproduce:
Configure kdelibs on system which has Docbook DTDs v4.5 installed, say, in /usr/share/xml/docbook/xml-dtd-4.5/ .

Actual Results:  
Configuring kdelibs fails and complains about missing docbook DTDs.

Expected Results:  
FindDocBookXML should search for docbooks DTDs v4.2 or later, not v4.2 only.
Comment 1 Luigi Toscano 2010-08-14 20:16:00 UTC
Hi, unfortunately our documentation is based on Docbook XML DTD v4.2  (see kdelibs/kdoctools/customization/dtd/kdex.dtd.cmake ). You are thus required to use that version. Docbook generation *could* work with other versions but it is not currently supported. 
Converting the actual documentation to 4.5 is not planned at the moment, but even after the conversion we should support also 4.2 for legacy documentation at least during the lifetime of KDE Platform 4.x.
I'm closing the bug as INVALID.
Comment 2 Artem Anisimov 2010-08-15 06:59:41 UTC
> Docbook generation *could* work with other versions

  And it indeed *works* -- i made a symlink xml-dtd-4.2 pointing to xml-dtd-4.5 and KDE build succeeded and produced usable help pages.

  I think that one of these must be done:
   1. Check that 4.5 DTDs are if fact supported and teach FindDocBookXML to look for version 4.2 or more recent.
   2. Add an explicit notice to kdoctools/CMakeLists.txt that it requires an outdated version of DocBook DTDs (and, probably, a hint that one can at his own risk trick FindDocBookXML into thinking that 4.2 DTDs are installed).
Comment 3 Luigi Toscano 2010-08-15 20:24:27 UTC
As I wrote before, Docbook XML DTDs 4.2 is a requirement. They are provided by almost all distributions, and if not it's only a matter of downloading and decompressing a zip file. Even if we migrate to 4.5 (and it's something that require testing), 4.2 will stay as a dependency during the lifetime of KDE Platform 4.x. If you want to use any other recent version, you are free to do so and manually change the requirement, but it is officially unsupported.