-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I've kept out of this for as long as I could, but I think it's time to put my two cents in...
On 2011-04-17, at 01:55, Simon Geard wrote: > On Sat, 2011-04-16 at 13:29 -0500, DJ Lucas wrote: >> On 04/13/2011 09:04 PM, Mike McCarty wrote: >>> There is an incompatibility with using udev and /usr being a >>> separate file system, which users of LFS need to be aware of. >>> It is presently not possible, in general, to use udev and have >>> /usr be a separately mounted file system. This is something to >>> consider when planning the layout of the disc drives. The current >>> implementation of udev is incompatible with the File System >>> Hierarchy >>> Standard. >> >> This is incorrect. udev is perfectly FHS compliant as installed in >> LFS >> and provides only minimal challenges to make it so in BLFS. [ snip ] > > My understanding is that the problem isn't with the location of > libraries - it's with the location of data under /usr/share. Stuff > like > the pci.ids and usb.ids files, which are apparently required for > some of > the udev rules. Those files could presumably be moved to somewhere > under /, but there's no obvious place to put them, no /share > directory... SHORT VERSION (for the "tl;dr" crowd): - Good idea, very bad implementation - Mount to /usr/remote - Set PATH=/usr/remote:/usr:/usr/local - FHS is broken; break FHS - ...and if the 'tubes are busted? LONG VERSION (for those who have the time for long-winded rationale): Despite the implication that /usr/local is for binaries and libraries and so forth that are installed for the local computer only, the fact that /usr/local is a subdirectory of /usr implies that /usr/local will also be on the networked server. After all, won't the NFS server have its own /usr/local? When you call a binary or library stored in /usr/local/... well, whose is it? Is it the local /usr/local's or the remote /usr/ local's? And if you think a local /local and a remote /local is confusing enough, just imagine what happens when you try it to update the local /usr/local with the contents of the remote /usr/local: "cp: /usr/local and /usr/local are identical (not copied)." As for FHS, it does not address the issue directly because FHS was addressing the userbase's single machines. And, with respect to the suggestion that the [B|C]LFS community should follow the lead of the Big Distros, **** no: this is ground they won't cover because they're too busy appeasing and growing their single-user userbase. Consider this: rpm, apt-get, yum, and all their incompatible kin exist because Red Hat/Fedora, Debian/Ubuntu, SuSE, & co. did what was convenient for themselves, and not necessarily what's best for all Linuxes at large and equally. Well... not until FHS twists their arms, that is; and as I've said, FHS says nothing. So... off-the-shelf distros won't serve the expressed intended purpose (unless you count Plan 9 as a distro, in which case the answer is still a "maybe" at best); networked filesystem path logistics are beyond the scope of FHS's jurisdiction; and (at last check) LSB has nothing to say on the subject. Y'know what? When no rule applies, I make one up. Here goes: It stands to reason that if there's a local version of /usr, then all things being equal and opposite, there ought to be a remote version /usr. This gives you three locations in total: - /usr, which is the stock /usr populated by Big Distros and [B|C]LFS - /usr/local, which contains machine-specific binaries and libraries - and /usr/remote, which contains the network-/office-/collective- specific binaries and libraries Once you have these set up, all that's left to do is to amend PATH accordingly. What order you choose depends on how you interpret OSI Layer 8 (or 8 & 9, or 8 & 9 & 10), but all in all this naïve solution has a precedent: if FHS insists on /usr/local, then FHS has no right to complain about /usr/remote. I'd ask what your fallback is in case the network goes down, but I think I've said far more than 2¢'s worth. We now return you to your regularly-scheduled debate... ______ ______ \_(_)_\ /_(_)_/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) iEYEARECAAYFAk2qctsACgkQUm23fyiLpft5TwCfUCrwGb09ftnnqK96bLPrB9vW V7gAoIIWI3h2MEEpdens4jQJFjpZXcmT =C5Yl -----END PGP SIGNATURE----- -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page