Bug 363613

Summary: emerge --package does not remove hard links to build path from executables
Product: kde-windows Reporter: Jasem Mutlaq <mutlaqja>
Component: installerAssignee: KDE-Windows <kde-windows>
Status: VERIFIED REMIND    
Severity: normal CC: vonreth
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:

Description Jasem Mutlaq 2016-05-27 22:57:16 UTC
My KDEROOT is D:\k and under it I ran emerge --package kstars, It created an installer which I then installed on a fresh Win10 VM. The application runs but when I tried using "Get Hot New Stuff" AKA KNewStuff, it "failed to load providers". Since this feature requires that kdeinit5.exe is invoked which then executes dbus-daemon.exe and klauncher.exe for this to work, it only started dbus-daemon.exe

But it seems all executable files already point to the build location in the primary machine (i.e. D:\k). When I launched klauncher.exe manually, I got this message inside the fresh VM:

"path of the process "dbus-daemon" seems to be outside of the installPath: "C:/Program Files/KStars Desktop Planetarium/bin" "D:/k"
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.

Furthermore, I started dbus-monitor.exe and got this:

signal time=1464388944.096486 sender=org.freedesktop.DBus -> destination=:1.5 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.5"
signal time=1464388944.111972 sender=org.freedesktop.DBus -> destination=:1.5 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.5"
method call time=1464388955.643587 sender=:1.0 -> destination=org.freedesktop.DBus serial=22 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameHasOwner
   string "org.kde.klauncher5"
method return time=1464388955.658837 sender=org.freedesktop.DBus -> destination=:1.0 serial=11 reply_serial=22
   boolean true
method call time=1464388955.658837 sender=:1.0 -> destination=org.kde.klauncher5 serial=23 path=/KLauncher; interface=org.kde.KSlaveLauncher; member=requestSlave
   string "http"
   string "edu.kde.org"
   string "tcp://127.0.0.1:50230"
method return time=1464388955.688128 sender=:1.2 -> destination=:1.0 serial=9 reply_serial=23
   int32 0
   string "Error loading 'D:/k/bin/kioslave'.

So it is clear that the emerge --package does not create an independent package from the build location at this point which is leading to these errors.

Reproducible: Always

Steps to Reproduce:
1. Use emerge --package to create a package
2. Install on a fresh VM
3. Use any feature that requires klauncher, dbus, or kinit like KNewStuff


Actual Results:  
KNewStuff fails "failed to load providers"

Expected Results:  
KNewStuff works along with dbus calls..etc
Comment 1 Hannah von Reth 2016-11-18 20:26:13 UTC
Looks like all dbus services are affected.
I think they should not use an absolute path on windows at all.
Maybe we could add something in ecm for that?