On 07/01/2024 19:39, Ansgar wrote:

> I would like to extend Debian Policy on libraries depending on services
> (daemons) that they can speak to.

Generally speaking, if an application is using a client-server model and 
there's no technical requirement for the client and server to be running on the 
same machine, the client package should absolutely *not* depend on the server 
package.

As an example, if I install some PostgreSQL libraries on my laptop so I can 
manage a bunch of PostgreSQL servers I maintain, I clearly don't need or want a 
full PostgreSQL server installed on my laptop.

This also holds true for audio daemons like PulseAudio. The server component is 
not required for the client libraries to function, so the latter should not 
depend on the former. The argument is less clear in this case since the 
majority of users will likely be running client and server on the same box, but 
I believe the logic is the same. A package's "Depends" field is for installing 
packages that are _required_ in order for the requested package to function, 
and shouldn't be used to provide user convenience based on an assumed use case. 
That's really what "Suggests" is for. If we have high confidence that another 
package is required for a dominant use case we could go as far as "Recommends", 
but we should only use "Depends" for additional packages required for *all* of 
a package's use cases.

Best regards,

Dale Richards

Reply via email to