Hi Russ, On Mon, 2021-08-23 at 13:41 -0700, Russ Allbery wrote: > Right now, in the absence of such a plan, it's obvious that having > two > unrelated packages (that do not Conflict) ship a binary with the same > name > in /bin and /usr/bin is not sensible, yes? (I believe that's the > topic > under discussion in this thread.) I'm trying to understand if enough > people thought this was a sensible, non-buggy thing to do today that > it's > worthwhile adding something to Policy explicitly saying that it's > not.
Different, non-conflicting packages shipping binaries with the same name in /bin and /usr/bin (or similar) should be resolved for a while now. That as looked at when usrmerge was first introduced. I'm aware of one instance where this was intentional to prefer one program over the other (molly-guard), but it since uses diversions. (Actually molly-guard ships several /sbin/pm-* binaries, while pm-utils ships them as /usr/sbin/pm-*, but I think this is fine as the ones in pm-utils are diverted by molly-guard's preinst script.) For what it is worth I could find the following instances in Debian bookworm (amd64 + all), not taking into account package conflicts, covering /bin, /sbin and /lib*: sbin/pm-hibernate: root=admin/molly-guard usr=admin/pm-utils,metapackages/progress-linux-container sbin/pm-suspend: root=admin/molly-guard usr=admin/pm-utils,metapackages/progress-linux-container sbin/pm-suspend-hybrid: root=admin/molly-guard usr=admin/pm-utils,metapackages/progress-linux-container sbin/syslogd: root=utils/busybox-syslogd usr=net/inetutils-syslogd bin/systemctl: root=admin/systemd usr=admin/systemctl sbin/update-service: root=admin/runit usr=admin/daemontools-run lib/x86_64-linux-gnu/libsystemd.so.0: root=libs/libelogind0 usr=libs/libsystemd0 sbin/exfatlabel: root=otherosfs/exfat-utils usr=otherosfs/exfatprogs sbin/fsck.exfat: root=otherosfs/exfat-utils usr=otherosfs/exfatprogs sbin/mkfs.exfat: root=otherosfs/exfat-utils usr=otherosfs/exfatprogs And one additional instance in unstable: lib/systemd/system/ifup@.service: root=admin/ifupdown2 usr=admin/ifupdown lib/systemd/system/networking.service: root=admin/ifupdown2 usr=admin/ifupdown Ansgar