GoboLinux Compile -- A Scalable Portage?
LodeRunner continues "We already have ebuilds, RPM .spec files, and whatnot. The argument for reinventing the wheel yet again was the observation that while developing apps to handle these files is easy, the task of maintaining the ever-growing database of compilation scripts is the real problem -- the huge package collection of Debian comes to mind. Compile took the extreme minimalistic approach, and its scripts ("recipes") are as small as can be: the script for a typical autoconf-based program takes two lines.
Knowledge for handling common situations is usually added to Compile itself instead of being coded in the script (for example, apps that need a separate build directory just add a needs_build_dir=yes line). The plan is to make Compile as smart as it can and the recipes as small as possible.It remains to be seen whether this experiment of gauging differently the tradeoff between flexibility and simplicity will prove itself to be limiting or enlightening, but in the ~six months Compile has been in beta test by the people from the GoboLinux mailing list, over 500 recipes were written, ranging from Glibc and GCC up to KDE and the Linux kernel itself."
To be fair, this isn't even a new idea for Mac OS X. It came from NeXT.
The filesystem is the package manager
Every modern shell supports case-insensitive tab-completion. And in GoboLinux, this is enabled by default.
Try it, you might like it: on bash, just add
set-completion-ignore-case on
on your ~/.inputrc.
The filesystem is the package manager
And that's exactly what scripts such as GNU Stow do.
The 'foo' application is installed in '/usr/local/foo-v1.x', and symlinks are placed into /usr/local/bin so that it can be run.
This makes installation and removing applications simple - and you can share your applications across NFS if you're so inclined.
And no, OSX is not LSB compliant - go figure. :)
This might be nitpicking, but I think you didn't read what the first letter in 'LSB' stands for - Linux
/usr used to stand for "user" in earlier Unix implementations - all "home" directories were under /usr, i.e /usr/joebloggs. A more detailed discussion can be found here.