Bug 285314

Summary: knotify and other dbus services could not be started
Product: [Unmaintained] kde-windows Reporter: Ralf Habacker <ralf.habacker>
Component: buildsystemAssignee: KDE-Windows <kde-windows>
Status: RESOLVED FIXED    
Severity: normal CC: vonreth
Priority: NOR    
Version: 4.7   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ralf Habacker 2011-10-30 13:25:39 UTC
Version:           4.7.0 (using KDE 4.7.0) 
OS:                MS Windows

With recent kde buildsystems there are problems with installed pathes of dbus services installed in <install-root>/share/dbus-1/services

The kde-runtime dbus service org.kde.knotify.service contains the build time install path, which is normally not the runtime install path. 



Reproducible: Always

Steps to Reproduce:
Install at least kde-runtime using kdewin installer, open a command shell and run: 

dbus-send --session --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.StartServiceByName string:org.kde.knotify uint32:0

Actual Results:  
The service is not started and the following error message will be printed 

Error org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program c:/kde/build/bin/knotify4: Das System kann die angegebene Datei nicht finden.

Expected Results:  
The service should be started indicated by the following printed message 

method return sender=org.freedesktop.DBus -> dest=:1.1 reply_serial=2
   uint32 1

The solution is to use a relative path for the dbus service executable path. 

This require a fix of the related service cmake buildsystem. 

This error may affect all KDE dbus services installed on windows and it not bound to kde-runtime only.
Comment 1 Ralf Habacker 2011-10-30 17:22:00 UTC
(In reply to comment #0)
> This error may affect all KDE dbus services installed on windows and it not
> bound to kde-runtime only.

Installing whole kde 4.7.0 windows msvc release shows the following services: 

c:\Program Files\kde-4.7.0-vc100\>dir share\dbus-1\services
30.10.2011  14:29                77 org.freedesktop.Akonadi.Control.service
30.10.2011  14:29                49 org.kde.kget.service
25.10.2011  17:36                58 org.kde.knotify.service
30.10.2011  14:29                55 org.kde.krunner.service
30.10.2011  14:30                57 org.kde.kuiserver.service

These services belongs to the following packages: 

c:\Program Files\kde-4.7.0-vc100\bin>grep Akonadi.Control ..\manifest\*.mft
..\manifest\akonadi-vc100-1.6.0-bin.mft

c:\Program Files\kde-4.7.0-vc100\bin>grep org.kde.kget ..\manifest\*.mft
..\manifest\kdenetwork-vc100-4.7.0-bin.mft

c:\Program Files\kde-4.7.0-vc100\bin>grep org.kde.krunner ..\manifest\*.mft
..\manifest\kde-workspace-vc100-4.7.0-bin.mft

c:\Program Files\kde-4.7.0-vc100\bin>grep org.kde.kuiserver ..\manifest\*.mft
..\manifest\kde-runtime-vc100-4.7.0-1-bin.mft

c:\Program Files\kde-4.7.0-vc100\bin>grep org.kde.knotify ..\manifest\*.mft
..\manifest\kde-runtime-vc100-4.7.0-1-bin.mft
Comment 2 Patrick Spendrin 2012-03-02 10:05:32 UTC
Git commit d64775fb1a35ac2071f2401cadb8eccd2ea5b66d by Patrick Spendrin.
Committed on 02/03/2012 at 11:04.
Pushed by sengels into branch 'KDE/4.8'.

do not hardcode pathes on windows

M  +6    -0    kuiserver/CMakeLists.txt
M  +1    -1    kuiserver/org.kde.kuiserver.service.in

http://commits.kde.org/kde-runtime/d64775fb1a35ac2071f2401cadb8eccd2ea5b66d
Comment 3 Patrick Spendrin 2012-03-02 10:05:32 UTC
Git commit d0b6a0392484a7f7533f8f82775c4e0674c752f5 by Patrick Spendrin.
Committed on 02/03/2012 at 11:01.
Pushed by sengels into branch 'KDE/4.8'.

do not hardcode directories on windows

M  +5    -0    knotify/CMakeLists.txt
M  +1    -1    knotify/org.kde.knotify.service.cmake

http://commits.kde.org/kde-runtime/d0b6a0392484a7f7533f8f82775c4e0674c752f5
Comment 4 Patrick Spendrin 2012-03-02 10:09:47 UTC
Git commit 4bbc0f8e753fd7cb7ac6ccc1bcf5b88d15039037 by Patrick Spendrin.
Committed on 02/03/2012 at 11:08.
Pushed by sengels into branch 'KDE/4.8'.

do not hardcode pathes on windows

M  +6    -0    krunner/CMakeLists.txt
M  +1    -1    krunner/dbus/org.kde.krunner.service.in

http://commits.kde.org/kde-workspace/4bbc0f8e753fd7cb7ac6ccc1bcf5b88d15039037
Comment 5 Patrick Spendrin 2012-03-02 10:13:19 UTC
SVN commit 1283175 by sengels:

do not hardcode pathes on windows


 M  +6 -0      CMakeLists.txt  
 M  +1 -1      org.kde.kget.service.in  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1283175
Comment 6 Ralf Habacker 2012-03-02 12:39:12 UTC
The patch https://projects.kde.org/projects/kdesupport/emerge/repository/revisions/master/changes/portage/win32libs-sources/dbus-src/16e6236b8310d41d0f21923bb87fa4cf148919d0.patch is required to use relative install-root based pathes for service executables