[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-stow] managing multiple versions of software tools
From: |
David T-G |
Subject: |
Re: [Help-stow] managing multiple versions of software tools |
Date: |
Mon, 13 May 2002 13:07:32 -0500 |
User-agent: |
Mutt/1.3.99i |
Guillame --
...and then Guillaume Morin said...
%
% Hi David,
Hello!
%
% Sorry for the delay.
No problem :-)
%
% Dans un message du 22 Apr à 8:40, David T-G écrivait :
% > Can stow, which will do a delightful job of making links and unfolding
% > directories and such, happily handle multiple PATH trees? I recall a
...
% > the pot. It seems that here we have the ultimate expression of that:
% > for a given tool (perl 5.6.1) we'll have a potentially huge number of
% > "owners".
%
% I am not sure to understand exactly what you mean. I am not a native
% speaker and I am afraid I could have misunderstood some parts of your
% description. Anyway, I am trying to answer, you'll tell me if I am
% mistaken.
Thanks so much, and I'll see if I can be clearer :-)
%
% There is no problem with managing multiple targets directories. The
% problem is indeed when there is multiple install directories, this is
% your case. But it will work if you have a directory tree in your target
% directory.
Hmmm... OK.
%
% e.g
%
% This won't work
[snip]
% But if you have :
%
% address@hidden:/tmp/foo$ tree
% .
% |-- fake_perl
% | `-- 1.0
% | `-- bin
% | `-- fake_perl.sh
% |-- fake_python
% | `-- 2.0
% | `-- bin
% | `-- fake_python.sh
% `-- flavor
% `-- foo
% `-- bin
%
% 9 directories, 2 files
% address@hidden:/tmp/foo/fake_perl$ stow -t ../flavor/foo/ 1.0
% address@hidden:/tmp/foo/fake_perl$ cd ../fake_python/
% address@hidden:/tmp/foo/fake_python$ stow -t ../flavor/foo/ 2.0/
% address@hidden:/tmp/foo/fake_python$
%
% Your target directories ($TOP/flavor/,$TOP/flavor/OS/MAJOR/MINOR) won't
% normally interfere.
OK. So let's expand this to look mostly like our installation here:
/mnt
/Rep
/gcc
/2.7.2.2
/bin
/2.95
/bin
/3.0.4
/bin
/perl
/5.6.1
/bin
/5.7.3
/bin
/python
/2.x
/usr
/2002q2
/bin
gcc -> 3.0.4 gcc
perl -> 5.6.1 perl
python -> 2.x python
/usr
/spec
/bin
gcc -> 2.95 gcc
perl -> 5.7.3 perl
python -> 2.x python
[Of course, the shown links are what are desired.] Mapping this back
onto your example, I have multiple flavor directories and a single
central repository of all versions of perl and of gcc and of whatnot.
So I should be able to
cd /mnt/Rep/gcc ; stow -t /usr/spec 2.95 ; stow -t /usr/2002q2 3.0.4
cd /mnt/Rep/perl ; stow -t /usr/spec 5.7.3 ; stow -t /usr/2002q2 5.6.1
to have a /usr/2002q2/bin directory with symlinks to the gcc and perl
binaries (and the same for /usr/spec/bin) and then later, if the spec
project wants to change from 2.95 to 3.0.4, just extract the 2.95 links
from /usr/spec/... and then fill in fresh links from 3.0.4, right?
%
% HTH.
Thanks & HAND
%
% --
% Guillaume Morin <address@hidden>
%
% Rosebud
:-D
--
David T-G * It's easier to fight for one's principles
(play) address@hidden * than to live up to them. -- fortune cookie
(work) address@hidden
http://www.justpickone.org/davidtg/ Shpx gur Pbzzhavpngvbaf Qrprapl Npg!
pgpPlUWVZonYk.pgp
Description: PGP signature