Backintime 1.0.26 keyring problem

Bug #1234024 reported by p3tris
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Back In Time
Fix Released
High
Germar

Bug Description

I downloaded the tar of backintime 1.0.26 from the website, used ./makedeb.sh, installed the deb files and ran sudo apt-get install -f to take care of the dependencies. When I try to run backintime from command line I get:

p3tris@p3tris-debian:~$ backintime -b

Back In Time
Version: 1.0.26

Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime --license' for details.

/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  import gobject._gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:127: RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK
  set_interactive(1)
INFO: Lock
Traceback (most recent call last):
  File "/usr/share/backintime/common/backintime.py", line 388, in <module>
    start_app()
  File "/usr/share/backintime/common/backintime.py", line 171, in start_app
    take_snapshot( cfg, True )
  File "/usr/share/backintime/common/backintime.py", line 53, in take_snapshot
    snapshots.Snapshots( cfg ).take_snapshot( force )
  File "/usr/share/backintime/common/snapshots.py", line 887, in take_snapshot
    hash_id = mount.Mount(cfg = self.config).mount()
  File "/usr/share/backintime/common/mount.py", line 52, in __init__
    pw_cache = password.Password_Cache(self.config)
  File "/usr/share/backintime/common/password.py", line 265, in __init__
    self.keyring_supported = tools.set_keyring(backend)
  File "/usr/share/backintime/common/tools.py", line 509, in set_keyring
    if backend.supported() == 1:
AttributeError: 'Keyring' object has no attribute 'supported'

Python-keyring package is installed (version 2.1-1).

I am using Debian testing with no extra repos.

Any help appreciated, thanks.

Related branches

Revision history for this message
Germar (germar) wrote :

Please make sure gnome-keyring and python-gnomekeyring is installed, too.

Revision history for this message
p3tris (p3tris) wrote :

I think they are. Take a look:

p3tris@p3tris-debian:~$ sudo dpkg -l *keyring*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================================-========================-========================-==================================================================================
ii deb-multimedia-keyring 2012.05.10-dmo4 all GnuPG archive key of the deb-multimedia repository
ii debian-archive-keyring 2012.4 all GnuPG archive keys of the Debian archive
ii debian-keyring 2013.07.31 all GnuPG keys of Debian Developers
ii debian-multimedia-keyring 2010.12.26-4 all transitional package to install deb-multimedia-keyring
ii gir1.2-gnomekeyring-1.0 3.4.1-1 amd64 GNOME keyring services library - introspection data
ii gnome-keyring 3.8.2-2 amd64 GNOME keyring services (daemon and tools)
ii libgnome-keyring-common 3.4.1-1 all GNOME keyring services library - data files
ii libgnome-keyring0:amd64 3.4.1-1 amd64 GNOME keyring services library
ii libpam-gnome-keyring 3.8.2-2 amd64 PAM module to unlock the GNOME keyring upon login
ii pkg-mozilla-archive-keyring 1.1 all GnuPG archive keys for the Debian Mozilla team package repository
ii python-gnomekeyring 2.32.0+dfsg-3 amd64 Python bindings for the GNOME keyring library
ii python-keyring 2.1-1 all store and access your passwords safely
ii x2go-keyring 2012.07.23+squeeze~main~ all GnuPG keys of all X2Go developers and the X2Go archive

Revision history for this message
graysky (graysky) wrote :

Yes, the update of python2-keyring from 1.6.1-1 -> 3.0.5-1 has fubr'ed backintime. I can repeat this on my gtk setup after updated that package.

I am running Arch Linux x86_64 and have the following packages which I believe correspond the Debian ones:

gnome-keyring 3.8.2-1
python2-keyring 3.0.5-1

Note - If I downgrade to v1.6.1 of python2-keyring, everything works as expected.

% backintime-gnome

Back In Time
Version: 1.0.26

Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime-gnome --license' for details.

Traceback (most recent call last):
File "/usr/share/backintime/gnome/app.py", line 1280, in <module>
main_window = MainWindow( cfg, app_instance )
File "/usr/share/backintime/gnome/app.py", line 333, in __init__
mnt = mount.Mount(cfg = self.config, profile_id = profile_id, parent = self.window)
File "/usr/share/backintime/common/mount.py", line 52, in __init__
pw_cache = password.Password_Cache(self.config)
File "/usr/share/backintime/common/password.py", line 265, in __init__
self.keyring_supported = tools.set_keyring(backend)
File "/usr/share/backintime/common/tools.py", line 505, in set_keyring
backends = (keyring.backend.GnomeKeyring(), keyring.backend.KDEKWallet())
AttributeError: 'module' object has no attribute 'GnomeKeyring'

Germar (germar)
Changed in backintime:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Germar (germar)
Revision history for this message
Germar (germar) wrote :

In python-keyring versions > 1.6-1 they kicked Keyring.supported() and redesigned the whole API. Not nice. Will have a deep look.

Germar (germar)
Changed in backintime:
status: Triaged → Fix Committed
Revision history for this message
graysky (graysky) wrote :

Thank you for the quick resolution, germar. Can you point me to a patch I can apply directly to v1.0.26 while we wait for the next release?

Thanks!

Revision history for this message
Germar (germar) wrote :

You can use the attached patch. I'm planing to release next version at the end of next week.

There is still a problem with backintime-gnome showing 'Warning: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed'
This is because of incompatibility with static gtk2 (used in BIT) and dynamic Gtk3 (used in python-gnomekeyring). Not sure if I can fix this. But it should work fine.

Revision history for this message
graysky (graysky) wrote :

Excellent, thank you so much. The patch is great. All is well using python2-keyring v3.0.5. Keep up the great job!

Revision history for this message
Thomas Winteler (Win-Soft) (thomi) wrote :

Hey

When will the this patch be applied to the PPA package?
https://launchpad.net/~bit-team/+archive/stable

Thanks for this fix..

Regards
thomi

Revision history for this message
Germar (germar) wrote :

I'm planning to ask Dan for a new release at the end of next week. If he has time to do the release the PPA will be updated as well.
But non of those Ubuntu versions the PPA provides packages for uses python-keyring > 1.6.1. Not even Ubuntu 13.10. So this bug doesn't affect the PPA.

Revision history for this message
Germar (germar) wrote :

@graysky: I've seen you are Package Maintainer for Backintime AUR on Arch Linux. Starting with next release can you please add python2-secretstorage[1] to dependencies?

I decided to let GnomeKeyring fail silently and use SecretServiceKeyring instead to fix the problems I stated in #6. Ubuntu and Debian install SecretServiceKeyring by default. For Arch there is (thanks to Runiq) a package in AUR.

[1]: https://aur.archlinux.org/packages/python2-secretstorage

Revision history for this message
graysky (graysky) wrote : Re: [Bug 1234024] Re: Backintime 1.0.26 keyring problem

Hi Germar. No problem. Thank you for working on BIT. It is great.
Will you please update the README indicating that this should be a
dependency when you bump the version?

On Sun, Oct 13, 2013 at 4:06 PM, Germar <email address hidden> wrote:
> @graysky: I've seen you are Package Maintainer for Backintime AUR on
> Arch Linux. Starting with next release can you please add
> python2-secretstorage[1] to dependencies?
>
> I decided to let GnomeKeyring fail silently and use SecretServiceKeyring
> instead to fix the problems I stated in #6. Ubuntu and Debian install
> SecretServiceKeyring by default. For Arch there is (thanks to Runiq) a
> package in AUR.
>
> [1]: https://aur.archlinux.org/packages/python2-secretstorage
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1234024
>
> Title:
> Backintime 1.0.26 keyring problem
>
> Status in Back In Time:
> Fix Committed
>
> Bug description:
> I downloaded the tar of backintime 1.0.26 from the website, used
> ./makedeb.sh, installed the deb files and ran sudo apt-get install -f
> to take care of the dependencies. When I try to run backintime from
> command line I get:
>
> p3tris@p3tris-debian:~$ backintime -b
>
> Back In Time
> Version: 1.0.26
>
> Back In Time comes with ABSOLUTELY NO WARRANTY.
> This is free software, and you are welcome to redistribute it
> under certain conditions; type `backintime --license' for details.
>
> /usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
> import gobject._gobject
> /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:127: RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK
> set_interactive(1)
> INFO: Lock
> Traceback (most recent call last):
> File "/usr/share/backintime/common/backintime.py", line 388, in <module>
> start_app()
> File "/usr/share/backintime/common/backintime.py", line 171, in start_app
> take_snapshot( cfg, True )
> File "/usr/share/backintime/common/backintime.py", line 53, in take_snapshot
> snapshots.Snapshots( cfg ).take_snapshot( force )
> File "/usr/share/backintime/common/snapshots.py", line 887, in take_snapshot
> hash_id = mount.Mount(cfg = self.config).mount()
> File "/usr/share/backintime/common/mount.py", line 52, in __init__
> pw_cache = password.Password_Cache(self.config)
> File "/usr/share/backintime/common/password.py", line 265, in __init__
> self.keyring_supported = tools.set_keyring(backend)
> File "/usr/share/backintime/common/tools.py", line 509, in set_keyring
> if backend.supported() == 1:
> AttributeError: 'Keyring' object has no attribute 'supported'
>
> Python-keyring package is installed (version 2.1-1).
>
> I am using Debian testing with no extra repos.
>
> Any help appreciated, thanks.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/backintime/+bug/1234024/+subscriptions

Revision history for this message
Germar (germar) wrote :
Revision history for this message
graysky (graysky) wrote :

Nice, I didn't see that modification. I updated the PKGBUILD in preparation the next release.

Germar (germar)
Changed in backintime:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.