Version: (using Devel) Installed from: Compiled sources I am using kdesvn-build to build extragear/multimedia with k3b. The installation fails because k3b tries to install itself in a global directory and not in the users target directory. Here is the error: -- Up-to-date: /home/kde-check/software/kde/bin/k3bsetup -- Installing: /home/kde-check/software/kde/share/kde4/services/k3bsetup2.desktop -- Installing: /usr/share/dbus-1/system-services/org.k3b.setup.service CMake Error at k3b/k3bsetup/worker/cmake_install.cmake:36 (FILE): file INSTALL cannot copy file "/home/kde-check/kdesvn/build/extragear/multimedia/k3b/k3bsetup/worker/org.k3b.setup.service" to "/usr/share/dbus-1/system-services/org.k3b.setup.service". Call Stack (most recent call first): k3b/k3bsetup/cmake_install.cmake:54 (INCLUDE) k3b/cmake_install.cmake:42 (INCLUDE) cmake_install.cmake:38 (INCLUDE) make: *** [install] Fehler 1
Hi, Since K3bSetup now uses Policykit to obtain an authorization, certain files must be installed to D-BUS and Policykit directories. It concerns following files: - org.k3b.setup.service (it is copied to /usr/share/dbus-1/system-services/) - org.k3b.setup.conf (it is copied to /etc/dbus-1/system.d) - org.k3b.setup.policy (it is copied to /usr/share/PolicyKit/policy) - org.k3b.setup.xml (it is copied to /usr/share/dbus-1/interfaces) Without these files K3bSetup will not work properly.
I guess that D-BUS and Policykit have the ability to add certain directories to search for their configuration. Either via environment variables or central configuration files. Normally the user who installs in a nonstandard directory changes the configuration to reflect this. Consider other types of files which are useless without proper configuration: - executables have to be added to PATH - libraries are added to ld.so.conf or LIBPATH or LD_LIBRARY_PATH. - manpages are added MANPATH - PKG_CONFIG_PATH hat .pc files If the user installs a package with PREFIX set, then all files should be installed in subdirectories of PREFIX. The only exception is when the user specifies a different target directory for specific files. For example by also specifiying a MANPAGE_PREFIX. Therefore k3b should install its files to $PREFIX/etc/dbus-1/system-services and $PREFIX/share/PolicyKit and $PREFIX/etc/dbus-1/system.d. Additionally provide configuration macros to change this defaults.
Ok, you have convinced me. I will fix that.
SVN commit 963092 by mmalek: Updated install paths of DBUS/PolicyKit files - the previous ones were preventing to install k3b in user target directory. Now it's possible again. BUG: 191207 M +3 -3 cmake/modules/FindPolkitQt.cmake M +2 -2 k3bsetup/worker/CMakeLists.txt WebSVN link: http://websvn.kde.org/?view=rev&revision=963092