help-stow
[Top][All Lists]
Advanced

[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!

Attachment: pgpPlUWVZonYk.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]