On Sat, Aug 20, 2016 at 8:16 AM Michael Catanzaro <mcatanzaro@gnome.org> wrote:
On Sat, 2016-08-20 at 02:07 +0000, Christopher wrote:
> Ah, my mistake. I was under the impression that it was missing,
> because
> related to gnome-python2-desktop (
> https://bugzilla.redhat.com/show_bug.cgi?id=1177390) which
> contains gnome-python2-gnomekeyring. Maybe gnome-python2-desktop can
> be
> built with gnome-desktop3? Not sure I understand GNOME packaging
> interdependencies yet, but I miss my old python keyring library.

Hi,

I'd never heard of it before now, but I looked into it briefly out of
curiosity. Turns out gnome-python2-desktop (called gnome-python-desktop
upstream) contains old-style manual Python bindings to various old
GNOME 2 stuff. These have all been obsoleted for a very long time by
PyGObject; the upstream git repo was archived five years ago. It's
totally unrelated to gnome-desktop3 (called gnome-desktop upstream),
which is an important GNOME module that just happens to have a
confusingly-similar name.

gnome-python2-gnomekeyring in particular contains old bindings for the
gnome-keyring library, which is also long deprecated. The modern way to
access the keyring is to use libsecret via PyGObject:

https://lazka.github.io/pgi-docs/#Secret-1

Michael




libsecret won't work. It's a higher level abstraction and I need to look at the GnomeKeyring attributes directly. You can do this with the old gnome-python2-gnomekeyring library, but the new GnomeKeyring (python-gobject/python3-gobject) returns a GLib.Array object for the attribute list, and I can't figure out any way to inspect the attributes from that in python (and it looks like I'm not the only one[1]).

[1]: http://stackoverflow.com/a/25642221/196405