installing software
Bradley M. Kuhn
bkuhn@ebb.org
Wed, 2 Jun 1999 15:31:11 -0400
Kragen Sitaker wrote:
> I want to be able to install software without worry.
>
> In particular, I want to be able to do the following:
> c- upgrade to new versions of applications while keeping the old ones around
[...]
> (c) means that I can run Emacs 19.30, while you run Emacs 20.19, using
> the same command names, on the same machine, at the same time, and when
> I say, "man emacs", I get the man page for the emacs that I am using.
> requires that we abandon /bin, /usr/bin, and /usr/local/bin for
> things like /opt/kde/1.0/bin. (Ideally, we can avoid having to root
> through 100 /bin directories every time we do an execvp().)
>
> Furthermore, I want to be able to switch to Emacs 20.19 with a single
> command.
>
> www.modules.org is one system that implements this. Stow comes close.
I use Stow extensively. The only change I think it needs is that each user
has their own area that is /usr/local. So, each user can stow and unstow
themselves to, say, /usr/local/USERNAME from /usr/local/Stow.
It's been about two years since I hacked Stow's source, but I think this is
only about a 20 line change to Stow.
I would encourage you to go for it and do it (or, send me an private email to
remind me to work on it the next time I am bored, but that may be a while.
:)
> All the resources a package provides -- man pages, examples, info
> pages, commands, libraries, etc. -- should become available when I do a
> 'module load emacs-20.19'.
With stow, this would have to be
stow -D emacs-19.30
stow emacs-20.19
However, one could easily modify stow (again, probably around 20 lines) to
have it look for an old version of things before the last '-' and remove
them before stowing the new version (otherwise, when you say:
stow emacs-20.19
It will bomb out and give conflict messages with emacs-19.30
One of the hardest things about Stow is that *SO MANY* packages don't give
you the ability to do:
./configure --prefix=/usr/local
and then:
make install prefix=/usr/local/Stow/FOO
On other problem is that may programs depend on --prefix=XXX being the same
place for all users. So, even if stow were modified to handle it, the
software probably couldn't.
What you really need is for every users to see a symbolic link from:
/usr/local
to /usr/Local/USERNAME
or something like that. But, I don't know of a way for different users to
see different symbolic links based on an environment variable.
> Does this seem like a good idea to you? It sure does to me.
It seems reasonable, at least for non-system stuff.
--
- bkuhn@ebb.org - Bradley M. Kuhn - bkuhn@gnu.org -
http://www.ebb.org/bkuhn