FS#58760 - [python-keyring] Missing dependency python-dbus

Attached to Project: Community Packages
Opened by SLP (s3lph) - Monday, 28 May 2018, 14:20 GMT
Last edited by Filipe Laíns (FFY00) - Monday, 03 September 2018, 22:05 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Felix Yan (felixonmars)
Filipe Laíns (FFY00)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

The package python-keyring does not list python-dbus as a dependency. If python-keyring is installed, but python-dbus is not, the `keyring` CLI application crashes with the python stacktrace listed below, even when performing tasks that would not even require DBus functionality, e.g. `keyring --help`. Installing the package `python-dbus` fixes the issue. `python-dbus` should be listed as a dependency of `python-keyring`.

Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/keyring/backends/kwallet.py", line 37, in priority
bus = dbus.SessionBus(mainloop=DBusGMainLoop())
AttributeError: module 'dbus' has no attribute 'SessionBus'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/bin/keyring", line 11, in <module>
load_entry_point('keyring==12.2.1', 'console_scripts', 'keyring')()
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 476, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2700, in load_entry_point
return ep.load()
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2318, in load
return self.resolve()
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2324, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.6/site-packages/keyring/__init__.py", line 3, in <module>
from .core import (set_keyring, get_keyring, set_password, get_password,
File "/usr/lib/python3.6/site-packages/keyring/core.py", line 154, in <module>
init_backend()
File "/usr/lib/python3.6/site-packages/keyring/core.py", line 67, in init_backend
keyrings = filter(limit, backend.get_all_keyring())
File "/usr/lib/python3.6/site-packages/keyring/util/__init__.py", line 21, in wrapper
func.always_returns = func(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/keyring/backend.py", line 173, in get_all_keyring
exceptions=TypeError))
File "/usr/lib/python3.6/site-packages/keyring/util/__init__.py", line 31, in suppress_exceptions
for callable in callables:
File "/usr/lib/python3.6/site-packages/keyring/backend.py", line 165, in is_class_viable
keyring_cls.priority
File "/usr/lib/python3.6/site-packages/keyring/util/properties.py", line 24, in __get__
return self.fget.__get__(None, owner)()
File "/usr/lib/python3.6/site-packages/keyring/backends/kwallet.py", line 137, in priority
return super(DBusKeyringKWallet4, cls).priority - 1
File "/usr/lib/python3.6/site-packages/keyring/util/properties.py", line 24, in __get__
return self.fget.__get__(None, owner)()
File "/usr/lib/python3.6/site-packages/keyring/backends/kwallet.py", line 38, in priority
except dbus.DBusException as exc:
AttributeError: module 'dbus' has no attribute 'DBusException'


Additional info:
- python-keyring 12.2.1-1


Steps to reproduce:
1. `pacman -S python-keyring`
2. `keyring --help` -> Crash
3. `python -S python-dbus`
4. `keyring --help` -> Works
This task depends upon

Closed by  Filipe Laíns (FFY00)
Monday, 03 September 2018, 22:05 GMT
Reason for closing:  Fixed
Additional comments about closing:  python-keyring 13.2.1-4
python2-keyring 13.2.1-4
Comment by Filipe Laíns (FFY00) - Monday, 03 September 2018, 22:03 GMT
python-jeepney should be used over python-dbus.

Loading...