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…
Please keep the Gentoo for Mac OS X team posted on this! We may be able to work together on this one…
Hmm… maybe you should let BSD be BSD. If you install a BSD then put on *tons* of makeup to make it look like Linux, I think you should go use the Real Thing (TM).Also, what is the problem with doing this little trick for root ?
It’s not a way to make it “look like Linux”, first because they are GNU and not Linux tools, second because it doesn’t change the essence, is just a way to let users feel more “at home” while using the system interactively.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.