cached services install dir is wrong [with fixup script]

David Faure faure at kde.org
Tue Oct 9 22:42:29 BST 2007


Warning, a change in FindKDE4Internal.cmake which I made some time ago left some old value for SERVICES_INSTALL_DIR 
in the CMakeCache.txt of the kde modules, unless you rebuilt them from scratch at some point.

kdebase/CMakeCache.txt:SERVICES_INSTALL_DIR:PATH=/d/kde/inst/kde4/share/services
kdeedu/CMakeCache.txt:SERVICES_INSTALL_DIR:PATH=/d/kde/inst/kde4/share/services
kdegames/CMakeCache.txt:SERVICES_INSTALL_DIR:PATH=/d/kde/inst/kde4/share/services
[..etc..]
while kdelibs/cmake/modules/FindKDE4Internal.cmake says
_set_fancy(SERVICES_INSTALL_DIR     "${SHARE_INSTALL_PREFIX}/kde4/services"
so the correct paths should be <prefix>/share/kde4/services, instead of <prefix>/share/services: the "kde4/" is missing.
This makes .desktop files be installed into a directory where kbuildsycoca isn't looking at them, which breaks things.

The _set_fancy logic makes the cache value preferred above the correct value,
which is the right behavior in the long term, but broke the change of default value
in the cmake file. We can't change default values anymore, so no need to change
_set_fancy I guess.

Executive summary: run http://web.davidfaure.fr/kde/fix_services_dir from your toplevel builddir :)

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).




More information about the kde-core-devel mailing list