Okay, I removed xubuntu_gnome-keyring-daemon-compat.patch, rebuilt the package, and gave it a try. That brought back the .xsession-errors message that was reported in bug 357346:
Failed to run gnome-keyring-daemon: Failed to start child process « gnome-keyring-daemon » (No such file or directory)
Looking a bit closer at the source code and Gtk docs, I saw that gnome_keyring_daemon_startup() was being called without an absolute path to the executable and without the G_SPAWN_SEARCH_PATH flag. That explains the error message above. I made a patch to take care of it, which I will attach here as 10_spawn-gnome-keyring-daemon-with-path.patch.
Testing my newly patched build, I saw that gnome-keyring-daemon was being launched, but without the --start option and without its printed environment variables getting exported. Another look at the source revealed that gnome_keyring_daemon_startup() was only attempting to capture and export the GNOME_KEYRING_PID variable, and not even looking for it intelligently. I made another patch, this one called 11_export-gnome-keyring-daemon-variables.patch.
With both my new patches applied, gnome-keyring-daemon finally seems to work as it should on xubuntu. It functions as both a secret store and an ssh agent. It works with GDM auto-login and with manual login. It can be found by ssh (using environment variables) and by programs like empathy and seahorse (using libgnome-keyring0 and dbus).
I think my patches might be applicable upstream. I'll have to take a look at the current xfce source code to see if these problems still exist there. In the mean time, anyone want to review and/or test my patches?
Okay, I removed xubuntu_ gnome-keyring- daemon- compat. patch, rebuilt the package, and gave it a try. That brought back the .xsession-errors message that was reported in bug 357346:
Failed to run gnome-keyring- daemon: Failed to start child process « gnome-keyring- daemon » (No such file or directory)
Looking a bit closer at the source code and Gtk docs, I saw that gnome_keyring_ daemon_ startup( ) was being called without an absolute path to the executable and without the G_SPAWN_SEARCH_PATH flag. That explains the error message above. I made a patch to take care of it, which I will attach here as 10_spawn- gnome-keyring- daemon- with-path. patch.
Testing my newly patched build, I saw that gnome-keyring- daemon was being launched, but without the --start option and without its printed environment variables getting exported. Another look at the source revealed that gnome_keyring_ daemon_ startup( ) was only attempting to capture and export the GNOME_KEYRING_PID variable, and not even looking for it intelligently. I made another patch, this one called 11_export- gnome-keyring- daemon- variables. patch.
With both my new patches applied, gnome-keyring- daemon finally seems to work as it should on xubuntu. It functions as both a secret store and an ssh agent. It works with GDM auto-login and with manual login. It can be found by ssh (using environment variables) and by programs like empathy and seahorse (using libgnome-keyring0 and dbus).
I think my patches might be applicable upstream. I'll have to take a look at the current xfce source code to see if these problems still exist there. In the mean time, anyone want to review and/or test my patches?