GNOME Bugzilla – Bug 421554
D-Bus support is incomplete
Last modified: 2007-12-19 04:31:04 UTC
Please describe the problem: We recently added D-Bus support to gnome-keyring-sharp, the managed gnome keyring client library. However, users on KDE continued to complain that the keyring daemon was not being activated. Their D-Bus installations were working properly but the keyring daemon simply didn't auto launch. It turns out that gnome keyring daemon isn't installing a .service file to /usr/share/dbus-1/services This makes the D-Bus support for getting the socket address quite useless unless the user/user's session has manually started a keyring daemon. Please add a .service file and encourage distribution packagers to include it. This will ensure that a daemon is always available when requested without any code changes to either of the client libraries. Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
http://mail.gnome.org/archives/f-spot-list/2007-February/msg00051.html http://mail.gnome.org/archives/f-spot-list/2007-March/msg00056.html http://mail.gnome.org/archives/f-spot-list/2007-March/msg00031.html I don't think any of these F-Spot users actually filed bugs, but they all seem to be hitting the same problem, which can be resolved by shipping a .service file with the keyring daemon to enable activation.
This is actually a bug with the gnome-keyring daemon, not a bug with the manager.
Created attachment 100376 [details] [review] Changes to configure.in and daemon/Makefile.am to support service file
Created attachment 100377 [details] org.gnome.keyring service file This belongs in daemon/
Together, the two attachments I've just provided fix this bug for the current version of gnome-keyring in SVN trunk.
Looks good, except why are we upping the minimum DBus version? Current GNOME minimum version is 1.0.2: http://live.gnome.org/TwoPointTwentyone/ExternalDependencies
Hmm. Was getting confused between system activation (which isn't actually available until 1.1.2 not 1.1.1) and session activation (which was ok somewhere pre 1.0). You can scrub the DBus version change line from the patch.
Changed the install from 'system-services' to 'services' Also added the following flags to the Exec line: --foreground To not detach and become a daemon. This allows Dbus to manage the daemon lifetime. --components=keyring Running the SSH and PKCS11 stuff does not make sense when activated from DBus as they have to set environment variables for the session. Please test this and make sure that my changes continue to solve your problem. These changes will be included in gnome-keyring 2.21.4 and 2.22.x versions.
Created attachment 100509 [details] [review] Handle no dbus case Looks pretty good. But I've just realised there's 2 remaining issues with the patch, both of which are fixed by this new patch... 1) Changing the help text for --with-dbus-service swapping "system-services" for "session services". 2) Handling the case where DBus isn't enabled properly i.e. not doing the system service install.
Committed. Thanks for your attention to detail.
*** Bug 504317 has been marked as a duplicate of this bug. ***