|
Bugzilla – Full Text Bug Listing |
| Summary: | khelpenter Needed meinproc4 From Doctools Missing From kdelibs4 | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.2 | Reporter: | Gregg Leichtman <gslaccts> |
| Component: | KDE4 Applications | Assignee: | E-mail List <kde-maintainers> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P4 - Low | CC: | forgotten_--EoyBps8f, freek, gslaccts, lsteeger |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | i586 | ||
| OS: | openSUSE 11.2 | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Gregg Leichtman
2009-11-29 10:44:56 UTC
I stole a copy of meinproc4 from the 2009 Mandriva rpm: kdelibs4-core-4.3.2-0.2mdv2009.1.i586.rpm by unpacking with:
rpm2cpio kdelibs4-core-4.3.2-0.2mdv2009.1.i586.rpm | cpio -idv
I then installed the meinproc4 app in /usr/bin and this caused the indexer to give errors as follows:
...
I/O warning : failed to load external entity ""
error
xsltParseStylesheetFile : cannot parse
1:66:1:help://kcontrol/kdm/index.docbook: size = 20309
I/O warning : failed to load external entity ""
error
xsltParseStylesheetFile : cannot parse
2:125:1:help://kcontrol/performance/index.docbook: size = 6735
I/O warning : failed to load external entity ""
error
xsltParseStylesheetFile : cannot parse
3:124:1:help://kcontrol/windowspecific/index.docbook: size = 2230
I/O warning : failed to load external entity ""
error
xsltParseStylesheetFile : cannot parse
...
Running checkXML against the kdm index.docbook located at: /usr/share/doc/kde/HTML/en/kdm
yielded errors as follows:
...
index.docbook:15: warning: failed to load external entity "dtd/kdex.dtd"
]>
^
index.docbook:17: parser error : Entity 'language' not defined
<book lang="&language;">
^
index.docbook:17: element book: validity error : No declaration for attribute lang of element book
<book lang="&language;">
^
index.docbook:19: parser error : Entity 'kdm' not defined
<title>The &kdm; Handbook</title>
^
index.docbook:19: element title: validity error : No declaration for element title
<title>The &kdm; Handbook</title>
^
index.docbook:23: parser error : Entity 'Oswald.Buddenhagen' not defined
&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
...
At this point, I gave up, since the kdex.dtd in the Mandriva distribution does not have the missing entities and may not even match the version of XML index.docbook's that are in the openSUSE distribution.
I get:
(6563) main: cmdFile: "/tmp/kde-rabauke/khelpcentermQ6531.tmp" (6563) main: indexDir: "/home/rabauke/.kde4/share/apps/khelpcenter/index/"
(6563) main: can access
(6563) KHC::IndexBuilder::IndexBuilder: IndexBuilder() (6563) KHC::IndexBuilder::buildIndices: Opened file ' "/tmp/kde-rabauke/khelpcentermQ6531.tmp" ' (6563) KHC::IndexBuilder::buildIndices: LINE: "/usr/lib64/kde4/libexec/khc_docbookdig.pl --indexdir=/home/rabauke/.kde4/share/apps/khelpcenter/index/ --docpath=khelpcenter:kde_application_manuals --identifier=kde_application_manuals" (6563) KHC::IndexBuilder::processCmdQueue: IndexBuilder::processCmdQueue() (6563) KHC::IndexBuilder::processCmdQueue: PROCESS: "/usr/lib64/kde4/libexec/khc_docbookdig.pl --indexdir=/home/rabauke/.kde4/share/apps/khelpcenter/index/ --docpath=khelpcenter:kde_application_manuals --identifier=kde_application_manuals"
INDEXDIR: /home/rabauke/.kde4/share/apps/khelpcenter/index/
FINDCMD: find /usr/share/doc/kde/HTML/en/ -name index.docbook
Creating index for 'kde_application_manuals'
htdig failed
(6563): running ("/usr/lib64/kde4/libexec/khc_docbookdig.pl", "--indexdir=/home/rabauke/.kde4/share/apps/khelpcenter/index/", "--docpath=khelpcenter:kde_application_manuals", "--identifier=kde_application_manuals") failed with exitCode 255 (6563): stdout output: "" (6563): stderr output: "" (6563) KHC::IndexBuilder::sendProgressSignal: IndexBuilder::sendProgressSignal()
(6563) KHC::IndexBuilder::processCmdQueue: IndexBuilder::processCmdQueue() (6563) KHC::IndexBuilder::quit: IndexBuilder::quit()
I discovered that even after I tracked down a copy of meinproc4 in Mandriva 2009: kdelibs4-core-4.3.2-0.2mdv2009.1.i586.rpm, I ran into a new indexing problem.
Specifically, I determined that the indexing script is located at: /usr/lib/kde4/libexec/khc_docbookdig.pl
After analyzing this script's contents, I ran:
meinproc4 --htdig /usr/share/doc/kde/HTML/en/kdm/index.docbook
and can generate the same XSLT parser error seen when trying to build the search index from within khelpcenter (once meinproc4 is installed and in the executables path of course):
gsl@aragorn:/tmp/junk> meinproc4 --htdig /usr/share/doc/kde/HTML/en/kdm/index.docbook
I/O warning : failed to load external entity ""
error
xsltParseStylesheetFile : cannot parse
Looking inside index.docbook for kdm for example, we see the following at the top of the file:
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kappname "&kdm;">
<!ENTITY package "kdebase">
<!ENTITY kdmrc "<filename>kdmrc</filename>">
<!ENTITY ksmserver "<application>ksmserver</application>">
<!ENTITY kdesktop "<application>kdesktop</application>">
<!ENTITY XDMCP "<acronym>XDMCP</acronym>">
<!ENTITY xdm "<application>xdm</application>">
<!ENTITY kdmrc-ref SYSTEM "kdmrc-ref.docbook">
<!ENTITY theme-ref SYSTEM "theme-ref.docbook">
<!ENTITY % addindex "INCLUDE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
These are referring to external entities. Later in the file we discover that some entities are not defined including an external dtd kdex.dtd located in the Mandriva 2009 rpm kdelibs4-core-4.3.2-0.2mdv2009.1.i586.rpm at: /usr/share/apps/ksgmltools2/customization/dtd
Ran checkXML against the kdm index.docbook (checkXML index.docbook) and got many missing entity errors. This is the root of the indexing problem, since the kdex.dtd does not contain these entities either.
index.docbook:15: warning: failed to load external entity "dtd/kdex.dtd"
]>
^
index.docbook:17: parser error : Entity 'language' not defined
<book lang="&language;">
^
index.docbook:17: element book: validity error : No declaration for attribute lang of element book
<book lang="&language;">
^
index.docbook:19: parser error : Entity 'kdm' not defined
<title>The &kdm; Handbook</title>
^
index.docbook:19: element title: validity error : No declaration for element title
<title>The &kdm; Handbook</title>
^
index.docbook:23: parser error : Entity 'Oswald.Buddenhagen' not defined
&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
Until both meinproc4 and the missing entities are placed in the proper locations upon installation, I don't see how khelpcenter can successfully index.
-=> Gregg <=-
Also after installation of KDE 4.4 in openSUSE 11.2 /usr/bin/meinproc4 is stil missing from kdelibs4. The manpage of meinproc4 is however present. I am using the x86_64 distribution. The solution is that /usr/bin/meinproc4 is available in the package kdelibs4-doc. The description of that package is misleading. |