[Pkg-kde-extras] Bug#609022: Receiving files does not work: s/bluedevilfilereceiverhelper/bluedevil/

Philipp Matthias Hahn pmhahn at debian.org
Wed Jan 5 14:03:36 UTC 2011


Package: bluedevil
Version: 1.0-0.1
Severity: normal

When I try to send files from my BlueTooth phone to my netbook running
Debian testing, it doesn't work in KDE, even when I enabled "Enable
receiving files" in "Receive files configuration".

This is an upstream bug, still both found in ~rc3 and final:

Running "dbus-monitor sender=org.kde.BlueDevil.Service" showed the
following message being sent to knotify:
> method call sender=:1.117 -> dest=org.kde.knotify serial=30 path=/Notify; interface=org.kde.KNotify; member=event
>  string "bluedevilIncomingFile"
>  string "bluedevilfilereceiverhelper"
>  array [ ]
>  string ""
>  string "HTC Desire PMHahn is sending you the file IMAG0042.jpg"
>  array of bytes [ ... ]
>  array [
>     string "Cancel"
>     string "Accept"
>     string "Save as..."
>  ]
>  int32 0
>  int64 0

Notice the second string specifying the sending application name being
"bluedevilfilereceiverhelper"!

$ qdbus org.kde.knotify /Notify | grep event
> method int org.kde.KNotify.event(QString event, QString fromApp, QVariantList contexts, QString title, QString text, QByteArray pixmap, QStringList actions, int timeout, qlonglong winId)

Running "strace -e t=file -s 4096 knotify4 --nofork" finally showed that
the following files are not found:
> ...
> stat64("/usr/share/desktop-base/profiles/kde-profile/share/config/bluedevilfilereceiverhelper.notifyrc", 0xbff5f03c) = -1 ENOENT (No such file or directory)
> stat64("/usr/share/kde4/apps/bluedevilfilereceiverhelper/bluedevilfilereceiverhelper.notifyrc", 0xbff5eedc) = -1 ENOENT (No such file or directory)
> stat64("/usr/share/kde4/config/bluedevilfilereceiverhelper.notifyrc", 0xbff5f03c) = -1 ENOENT (No such file or directory)

But the package "bluedevil" provides the necessary definition of the
"Event/bluedevilIncomingFile" type in the file
<file:/usr/share/kde4/apps/bluedevil/bluedevil.notifyrc>
which thus isn't found and used.



For testing I created the following symlink, after which the I was
successfully able to send files:
$ ln -s /usr/share/kde4/apps/bluedevil/bluedevil.notifyrc ~/.kde/share/config/bluedevilfilereceiverhelper.notifyrc


The message is generated in
<file:bluedevil-v1.0/src/daemon/helpers/filereceiver/openobex/serversession.cpp>:118
The appname is automatically retrieved here:
<http://api.kde.org/4.0-api/kdelibs-apidocs/kdeui/html/classKNotification.html#a11db3389218f37f37a4909893575232c>


You can simulate the message by running the following Python program:
#!/usr/bin/python
import dbus
knotify = dbus.SessionBus().get_object("org.kde.knotify", "/Notify")
r = knotify.event("bluedevilIncomingFile", "bluedevilfilereceiverhelper", [], "Title", "HTC Desire PMHahn is sending you the file IMAG0042.jpg", [], ["Cancel","Accept","Save as..."], 0, 0, dbus_interface="org.kde.KNotify")
print r

-- System Information:
Debian Release: 6.0
  APT prefers unstable
  APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.36.2 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash





More information about the pkg-kde-extras mailing list