[PATCH] Fix creation of handbooks from index.docbook referencing other *.docbook files

Ingo Klöcker kloecker at kde.org
Mon Dec 31 13:38:58 GMT 2007


Hi,

I don't think this is related to the fact that I'm currently building
KDE with spaces in all possible paths. OTOH, I'm wondering why I seem to
be the first to notice that the creation of handbooks from index.docbook
files referencing other *.docbook files in <!ENTITY > tags in the
<!DOCTYPE > tag does not work. Anyway, ...

Example:
kdebase/workspace/doc/kdm/index.docbook references kdmrc-ref.docbook and
theme-ref.docbook.

Trying to build the handbook of kdm leads to:

=====
ingo at thufir:~/compiled/kde 4/trunk/KDE/kdebase/workspace/doc/kdm> make
makeobj[0]: Entering directory `/home/ingo/compiled/kde 
4/trunk/KDE/kdebase/workspace/doc/kdm'
cd /home/ingo/compiled/kde\ 4/trunk/KDE/kdebase 
&& /usr/bin/cmake -H/home/ingo/svn/kde\ 
4/trunk/KDE/kdebase -B/home/ingo/compiled/kde\ 
4/trunk/KDE/kdebase --check-build-system CMakeFiles/Makefile.cmake 0
cd /home/ingo/compiled/kde\ 4/trunk/KDE/kdebase && /usr/bin/cmake -E 
cmake_progress_start /home/ingo/compiled/kde\ 
4/trunk/KDE/kdebase/CMakeFiles 0
cd /home/ingo/compiled/kde\ 4/trunk/KDE/kdebase && /usr/bin/make -f 
CMakeFiles/Makefile2 workspace/doc/kdm/all
make[1]: Entering directory `/home/ingo/compiled/kde 
4/trunk/KDE/kdebase'
/usr/bin/make -f workspace/doc/kdm/CMakeFiles/handbook.dir/build.make 
workspace/doc/kdm/CMakeFiles/handbook.dir/build
make[2]: Entering directory `/home/ingo/compiled/kde 
4/trunk/KDE/kdebase'
/usr/bin/cmake -E cmake_progress_report /home/ingo/compiled/kde\ 
4/trunk/KDE/kdebase/CMakeFiles
Generating index.cache.bz2
cd /home/ingo/compiled/kde\ 4/trunk/KDE/kdebase/workspace/doc/kdm 
&& /opt/kde4\ 
svn/bin/meinproc4 --check --cache /home/ingo/compiled/kde\ 
4/trunk/KDE/kdebase/workspace/doc/kdm/index.cache.bz2 /home/ingo/svn/kde\ 
4/trunk/KDE/kdebase/workspace/doc/kdm/index.docbook
I/O warning : failed to load external entity "kdmrc-ref.docbook"
/home/ingo/svn/kde 
4/trunk/KDE/kdebase/workspace/doc/kdm/index.docbook:681: parser error : 
Failure to process entity kdmrc-ref
&kdmrc-ref;
           ^
/home/ingo/svn/kde 
4/trunk/KDE/kdebase/workspace/doc/kdm/index.docbook:681: parser error : 
Entity 'kdmrc-ref' not defined
&kdmrc-ref;
           ^
I/O warning : failed to load external entity "theme-ref.docbook"
/home/ingo/svn/kde 
4/trunk/KDE/kdebase/workspace/doc/kdm/index.docbook:683: parser error : 
Failure to process entity theme-ref
&theme-ref;
           ^
/home/ingo/svn/kde 
4/trunk/KDE/kdebase/workspace/doc/kdm/index.docbook:683: parser error : 
Entity 'theme-ref' not defined
&theme-ref;
           ^
make[2]: Leaving directory `/home/ingo/compiled/kde 4/trunk/KDE/kdebase'
make[1]: Leaving directory `/home/ingo/compiled/kde 4/trunk/KDE/kdebase'
/usr/bin/cmake -E cmake_progress_start /home/ingo/compiled/kde\ 
4/trunk/KDE/kdebase/CMakeFiles 0
makeobj[0]: Leaving directory `/home/ingo/compiled/kde 
4/trunk/KDE/kdebase/workspace/doc/kdm'
=====

The problem is that meinproc4 is run in the build directory and 
therefore does not find the referenced *.docbook files. Running 
meinproc4 in the source directory fixes the problem. The attached patch 
fixes this in the KDE4_CREATE_HANDBOOK macro by setting the working 
directory for meinproc4 to the source directory.

Is this the correct fix? Or am I missing something?


Regards,
Ingo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kdelibs-fix-create-handbook-macro.diff
Type: text/x-diff
Size: 955 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20071231/050e9fa1/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20071231/050e9fa1/attachment.sig>


More information about the kde-core-devel mailing list