[uClibc] Re: [OT] Re: The naming wars continue...

Dave Dodge dododge at dododge.net
Wed Oct 27 21:11:38 UTC 2004


On Wed, Oct 27, 2004 at 07:27:04PM +0200, Måns Rullgård wrote:
> Grzegorz Kulewski <kangur at polcom.net> writes:
> > 5. I am thinking of changing directory structure (and some other
> > things) some more... For example placing every package in its own dir
> > - like /apps/gcc/3.4.2/<install date>/{bin,lib,...} and placing
> 
> I've been placing things in /opt/package/version for quite a while.

That's essentially what the GoboLinux distribution does, except that
it does it for everything down to and including core stuff like "sh"
and "ls".

> I use a perl script to set the *PATH environment variables to point at
> whatever versions I choose for each package.

If you have enough things installed you might run into problems with
the size of PATH (perhaps unlikely on Linux, but I recall hitting
the limit on Solaris at one point).

When I used to do this on Solaris, my most recent solution was to use
GNU stow to create symlinks from a single prefix to all of the
installed packages.  Then I'd only need one additional entry in PATH,
MANPATH, and so on.  stow made it easy enough to add and remove
packages, though there were trouble spots with duplicate files such as
the emacs info directory.

If I recall correctly, in the GoboLinux case gcc 3.4.2 would be
installed in "/Programs/GCC/3.4.2/{bin,lib,...}".  A symlink from
"/Programs/GCC/Current" to "3.4.2" would select that as the current
version.  The Current trees are symlinked into a single prefix (like I
did with stow).  Gobo has scripts to manage all of this.  I believe
"/bin" is a symlink to the bin directory in the main install prefix,
but there are patches so that while "/bin" can be used for lookups it
does not appear when you list "/".

                                                  -Dave Dodge



More information about the uClibc mailing list