Various notes on /usr unification
Posted Feb 28, 2012 14:11 UTC (Tue) by jzbiciak
(✭ supporter ✭
Parent article: Various notes on /usr unification
I have to say, two things in this article caused me two completely different flashbacks.
[U]sers don't like to have their ponies taken away, even if nobody had ever said they could have a pony in the first place.
...flashed me back to this day on a different website. And then this:
Your editor . . . was reminded of doing the manual transition from the a.out to the ELF executable format on a Slackware system many years ago.
I still remember that. No more QMAGIC (or my favorite for very, very small programs, NMAGIC).
Ok... enough reminiscing. There's one question I do have, related to this:
Fedora has forced a flag day requiring the entire thing to happen at once; Debian, instead, has carefully avoided flag days in favor of a carefully-planned step-by-step change. One could argue that the Debian approach is better: it lets the transition "just happen" through normal package updates without the need for any special actions on the part of administrators or users.
The question that came to mind for me immediately was why package updating broke at all. Why couldn't all of these unable-to-update packages do their own piecemeal move? If a few related packages have to move as a group, give them a common dummy package as a dependency that does the group move first. Why break package updates and require this flag day?
Without the package-breaking flag day, I don't think it follows that this will become a lingering transition. You have a flag day for package standards, and the packages will all end up moving themselves.
I guess the downside is that now you're left with a /bin and /lib full of symlinks rather than a single symlink each for /bin and /lib. I'm no packaging whiz (far, far from it), but it seems like that could be cleaned up with another package that would depend on all the piecemeal moves. But, all the intermediate states do look messier. And, it doesn't account for any locally-installed software that probably should be in /usr/local/*. (*tsk* *tsk*!)
Ugh. Yeah, this does smell a bit of the ELF/a.out transition.
to post comments)