maestral icon indicating copy to clipboard operation
maestral copied to clipboard

dbus-python dependency needed for unlocking kwallet

Open peterhoeg opened this issue 1 year ago • 1 comments

Describe the bug maestral needs a dbus python module in order to be able to unlock kwallet.

To Reproduce

  1. stick this in maestral.ini
[auth]
keyring = keyring.backends.kwallet.DBusKeyring

Notice how maestral blows up with an error about the dbus module missing.

We fixed it downstream in NixOS by adding in the dbus-python module:

https://github.com/NixOS/nixpkgs/pull/194165

Expected behaviour

Actually, I would have expected things to work with automatic in there as kwallet now has SecretService support, but that's different issue.

System:

  • Maestral version: 1.6.0
  • Python version: 3.10
  • OS: NixOS - latest unstable
  • Desktop environment: KDE Plasma 5.94

Additional context

peterhoeg avatar Oct 10 '22 10:10 peterhoeg

Indeed, the keyring.backends.kwallet.DBusKeyring requires dbus-python to be installed. This is a transitive dependency of keyring which likely does not include it as an explicit dependency because it often installed through the platform's package manager instead of PyPI.

I could add an explicit dependency on dbus-python for Linux but would probably prefer this to be handled by keyring instead.

samschott avatar Oct 12 '22 20:10 samschott