| « Moving toward 6.0 | KDE vs GTK: who's more portable? » |
emerge userland-gnu
One of the most fiery opinion about FreeBSD is that BSD tools are usually difficult to use interactively... that's true: BSD commands are more strict than the GNU equivalents, but this is not a problem in scripts (mostly).
While Gentoo/FreeBSD wants to be as far as possible FreeBSD-like, I'm thinking of a quick hack that could help bypassing this problem.
Mainly, the difficulty of BSD tools is the fact that they accept options just and only in the right order: you can't do "mkdir /some/strange/dir -p" as -p is *after* the name of the directory to create. But this happens only when running the commands from a shell. While we already have bash shell instead of tcsh (that I can't really stand), we can't install GNU utils right now..
The problem is not compiling them, as they should be portable enough to work fine on non-GNU libcs, but is with the name, they must g-prefixed to be installable there, and this makes them useless for most people.
What I have in mind now is this: let coreutils and the other *utils install with g-prefix on non-GNU userland... then, add an ebuild 'userland-gnu' that depends on all GNU's tools, and then creates symlinks between the g-prefixed tools in /usr/bin, to something like /usr/libexec/gnu... add that to your user's path and you'll be using gnu tools instead of FreeBSD's ones :)
Such a thing should *never* be done on root, tho.
I think i'll start this later, it's really really interesting, imho, to get a better user-friendly FreeBSD distribution...
3 comments
Also, what is the problem with doing this little trick for root ?
The reason to not do this trick for root, is just that a lot of BSD scripts rely on having BSD tools and not GNU tools, and would break on such a trick.
BTW I was already able to have it working right... just needed two patches to tar and coreutils.