GTG 0.3 is not compatible with GNOME Keyring 3.6, does not start
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GTG |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
This is what immediately happens when I try starting GTG 0.3 in Fedora 18. From the looks of the traceback, it seems as if the gnome keyring API has changed recently and GTG does not account for it.
2012-12-05 00:06:40,723 - WARNING - __init_
2012-12-05 00:06:40,724 - WARNING - __init_
2012-12-05 00:06:40,725 - WARNING - __init_
2012-12-05 00:06:40,745 - WARNING - __init_
2012-12-05 00:06:40,745 - WARNING - __init_
Traceback (most recent call last):
File "/usr/bin/gtg", line 85, in <module>
main()
File "/usr/bin/gtg", line 81, in main
sys.
File "/usr/lib/
ds, req = core_main_
File "/usr/lib/
backends_list = BackendFactory(
File "/usr/lib/
self.
File "/usr/lib/
xp.
File "/usr/lib/
return Keyring(
File "/usr/lib/
item_info = gnomekeyring.
gnomekeyring.
Changed in gtg: | |
status: | New → Fix Released |
milestone: | none → 0.4 |
From discussing with Izidor, it seems my hunch is right and that this is because of an API break in the keyring.
A proper solution is Izidor's work towards switching everything to gobject introspection, but this does not provide an immediate fix.
However, there is a workaround. The current module checks for the presence of gnomekeyring, and if it fails to import, it uses a fallback keyring module, which works fine. The problem is of course that gnomekeyring is imported correctly, but the API changed so it can't be used.
As per our discussion, the only way to provide a fix for users until the next release is to patch tools/keyring.py so that it looks like this:
#try:
# import gnomekeyring
#except ImportError:
# gnomekeyring = None
# As per discussion with upstream, this is a silly workaround for LP bug #1086663,
# because 0.3 does not match the changed keyring API:
gnomekeyring = None