[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: merged /usr vs. symlink farms



Ansgar <ansgar@43-1.org> writes:

> 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*:

Thanks for the data!

> 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

I will assume this uses diversions, but probably the strongest argument
for saying something in Policy was this confusion.  At least one Debian
maintainer didn't realize that diversions were the best way of doing this
rather than shipping binaries in a different PATH.

> 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

I've chcked these and they all declare explicit Conflicts.

-- 
Russ Allbery (rra@debian.org)              <https://www.eyrie.org/~eagle/>


Reply to: