On Fri, 2020-02-07 at 11:49:55 +0000, Philip Hands wrote: > It seems that most (26) packages are explicitly preferring bsd-mailx, > which seems fair enough to me.
Ack. > heirloom-mailx is a dummy package that depends on s-nail, where s-nail > does not actually provide mailx, so I suspect that mentions of both of > those could be bugs. Most probably, yes. > Given that, it seems to me that we should somehow ensure that when one > needs 'mailx' one can be sure to get bsd-mailx (unless one explicitly > chooses otherwise). > > However, hard-wiring this preference into so many packages doesn't seem > very elegant to me, and would be a pain to change if we ever wanted to > switch defaults. Right, and not only that, the diverging dependencies seem rather untidy. > Is there perhaps some trick in apt that could fix this so that the > packages only need to depend on mailx? I don't think there's anything special here, and relying on some apt specific thing does not sound very enticing anyway. :) > Alternatively, might a 'default-mailx' virtual package that only > bsd-mailx provides be the answer, such that all of these then could > declare the dependency as: default-mailx | mailx I think using a default-<thing> virtual is what we have started to converge on, as it does not require new packages and makes it easy to switch default by just touching two packages. We have the old precedent with default-mta, and now the newer default-dbus-session-bus and default-logind. IMO we should probably be codifying this practice and start switching way more stuff, like implementations for cron, inetd, syslogd, host, telnet-client, dhcp-client, etc., and any other similar interface where it makes sense to have a default. Thanks, Guillem