On 27/08/14 17:59, Russ Allbery wrote: > Some other distributions have merged /bin, /sbin, and /lib into /usr > via the symlinks: > > /bin -> /usr/bin > /sbin -> /usr/sbin > /lib -> /usr/lib > /lib64 -> /usr/lib64
Other merges worth considering if you're in a "kill all the directories" mood: bin + sbin -> bin bin + games -> bin (but at the moment Lintian actively discourages putting games in /usr/bin) > While Debian has not decided to do the same thing at this time, it's > desirable, and not particularly difficult, to support this configuration > if the local administrator wants to adopt it. If I remember correctly, the hurd-i386 port briefly tried to do this (except possibly the other way round, putting everything in /bin), and gave up on that idea, because file conflicts between /bin and /usr/bin are common, and it wasn't "the battle they wanted to be fighting". > I wanted to open this discussion, but it's not clear whether we're ready > yet to actually merge this patch. On the contrary, I think it's clear that we're not ready. > On my local system, I have the > following conflicts, all of which are symlinks and therefore don't pose > a functionality problem: > > lrwxrwxrwx 1 root root 10 May 20 2013 chacl -> /bin/chacl* (etc.) Some executables need to exist in both /bin and /usr/bin for backwards compatibility. If a distribution or administrator *has* done the "/usr merge", then /bin *is* /usr/bin and there's no problem; but if not, the transitional state is broken. I believe distributions that have done the /usr merge have typically done so as a "flag day" sort of thing, with quite a lot of transitional breakage. If they can't get it right with a forced transition, I don't think we can get it right with a (more complex) optional transition. The only way I can think of to make this work without a flag day that switches from "separate /bin is mandatory" to "separate /bin is forbidden" (which, as you noted, we actively do not want) would be to have some magic in dpkg like this: If a package contains two files $ub/foo and $b/foo with the same basename, and $ub/foo would be a symlink to $b/foo if the package was unpacked into an empty root, and $b is a symlink to $ub in the actual root, then unpack the real file $b/foo to $ub/foo in the real root, and ignore $ub/foo. (Read "$ub" and "$b" as "/usr/bin" and "/bin" in this case.) That seems ... subtle. Worth it? Stupid? Better ideas? S -- To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/53fe36c8.6080...@debian.org