Hi,

On Sun, 2024-01-07 at 22:15 +0300, Dmitry Shachnev wrote:
> On Sun, Jan 07, 2024 at 07:31:48PM +0100, Ansgar wrote:
> > > gnome-keyring | alternatives is in Recommends, not in Depends.
> > > 
> > > The reason for that is because someone may want to use secretstorage
> > > with a different server that is not listed there, and we do not have a
> > > virtual package name that any such implementation can provide (like e.g.
> > > notification-daemon is provided by 14 different packages).
> > 
> > So will you add a virtual package and a strict dependency? AFAIU it is
> > about as uesless without one of these providers as it is without Dbus.
> 
> I think you really don't want it to be a strict dependency, do you?

I would prefer no such dependency, yes. I'm just wondering why dbus and
the provider of the dbus interface are handled differently.

> Your analogy doesn't 100% apply to Python world. In C, if you link to some
> library, your application won't start when that library is not installed.
> However, in Python, it's quite easy to make imports optional. And Keyring
> does exactly this, "import keyring" will not fail if python3-secretstorage
> is not installed.

In C one can load optional plugins as well, but it is more work to
implement, yes.

> Similarly, I see that poetry imports keyring not on the top level, but in
> the code where it's actually needed [1], and poetry will start when keyring
> is not installed, so maybe poetry should Recommend python3-keyring, not
> depend on it.

Maybe that too, but this can get harder for users to find: assume
Poetry still depends on python3-keyring, but python3-secretstorage.
Then it is hard to find out that python3-secretstorage might need to be
installed in order to store credentials in gnome-keyring (or others).

> But anyway, if you insist that python3-secretstorage should not depend on
> dbus-related packages, I can demote that to Recommends. For most users
> that shouldn't make any difference because we have Recommends enabled by
> default. Will that work for you?

I would assume that pretty much everyone who wants to use the DBus
secret store with gnome-keyring, kwallet or keepassxc has a GUI with
DBus already installed. So "Suggests:" would be enough.

The question of libraries depending on services comes up from time to
time again, so it might be better to decide on a general policy for
this.  I've started a thread on -devel@ for this:
https://lists.debian.org/msgid-search/da70d4ba9cae7261698718b2d50303be50d074c2.ca...@43-1.org
(link should work in ~20 minutes or so).

Ansgar

Reply via email to