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