Web lists-archives.com

Re: Too many Recommends (in particular on mail-transport-agent)

On Wed, 31 May 2017 at 11:32:29 +1200, Ben Caradoc-Davies wrote:
> Trust is not transitive. Perhaps Recommends should not be either?

Recommends are for the relationship "wanting foo but not bar is unusual".
If A Recommends B and B Recommends C, and if we assume for example
that "unusual" means 10% of users of A do not need B and 10% of users
of B do not need C, then installing Recommends means somewhere
between 0% and 20% of users of A get C unnecessarily. (The real figure
depends on whether not wanting B and not wanting C are positively or
negatively correlated, or independent.)

That still seems like it qualifies as "unusual" to me, so I think
Recommends are effectively transitive.

More practically, apt does not keep track of whether a package was
installed as a result of a recommendation, a hard dependency or user
request (the closest it gets is "automatically installed", but that
could be anywhere between Depends and Suggests), so non-transitive
Recommends are not currently implementable: when apt is upgrading B
and there is a new Recommends on C, apt does not know whether B
was installed due to a hard dependency or user request (in which
case you would say its Recommends on C should be respected),
or whether it was only installed because it was recommended by A
(in which case you would say the transitive Recommends on C should
be ignored).