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

From: Måns Rullgård
Date: Wed Oct 27 2004 - 16:28:19 EST


Dave Dodge <dododge@xxxxxxxxxxx> writes:

> On Wed, Oct 27, 2004 at 07:27:04PM +0200, Måns Rullgård wrote:
>> Grzegorz Kulewski <kangur@xxxxxxxxxx> 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).

At my university they were running a locally hacked version of tcsh to
increase the maximum size of PATH to allow a similar setup.

> 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.

The advantage with setting the environment variables directly is that
it's easy to switch between different versions of any package without
changing anything on disk, and I can have different version selected
in different xterms. A symlink based scheme doesn't allow this.

> 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 "/".

If there's one thing I detest, it is such hiding of files. The GUI in
MacOSX does such things too, even /tmp is hidden there. It's visible
from a shell though. I won't even mention mswindows. If a file
exists, it should be visible, period. The standard hiding of .dot
files is perfectly good enough without any extra hacks.

--
Måns Rullgård
mru@xxxxxxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/