(Courriels de diversion: <interposees@identite-voltigeaient.com> <nurse@parsemes-applicateur.com> <vaquais@encherissait-aspirions.com> <feuillete@enlaceraient-populations.com> <concomitant@desabonnons-reclassee.com> <trompiez@enchaînerons-maisons.com> <saupiquet@commuera-deuxieme.com> <resolviez@terrassent-decevriez.com> <dechiffrait@allongee-restaureraient.com> <tresser@persecuterons-friture.com> )


Il y a quelques temps, Laurent MOUSSAULT avait cause d'un utilitaire qui
s'appelle Stow.
Aujourd'hui, a la reunion, des gens ont eu un petit apercu de cet
utilitaire tres pratique pour installer et DESINSTALLER des .tgz.
Ils ont trouve ca interessant, docn je fais une mini-presentation.


********
* STOW *
********
L'UTILITAIRE QU'IL VOUS FAUT

Voila le principe:

** on cree un repertoire /usr/local/stow.

** Quand on veut installer (mettons) vim 5.3 a partir d'un tgz, 
on cree un repertoire /usr/local/stow/vim_5.3.
on decompresse l'archive vim_5.3.tgz dans /tmp, 
on fait le ./configure avec le prefix '--prefix=/usr/local/stow/vim_5.3'
on fait le make; make install.

Et oh miracle, vim5.3 s'installe dans /usr/local/stow/vim_5.3.

En fait, les binaires sont (automatiquement) dans
/usr/local/stow/vim_5.3/bin, 
les doc (automatiquement) dans /usr/local/stow/vim_5.3/doc/vim, les man
dans /usr/local/stow/vim_5.3/man/man1, les fichiers share dans
/usr/local/stow/vim_5.3/share/vim.

** Et la, l'utilitaire stow rentre en jeu:
en allant dans /usr/local/stow, et en tapant 'stow vim_5.3', le
programme va automatiquement faire des liens symboliques des fichiers de
/usr/local/stow/vim_5.3/bin dans /usr/local/bin, de ceux de
/usr/local/stow/vim_5.3/doc/vim dans /usr/local/doc/vim etc.

On se retrouve donc avec tous les fichiers de vim 5.3 ranges dans un
seul repertoire mais accessible via /usr/local.

** Quand le vim 5.4 va sortir, j'effacerai le 5.3 
en allant dans /usr/local/stow et en faisant 'stow -D vim_5.3'.
A partir de la, tous les liens symboliques sont effaces, 

et apres un petit 'rm -Rf /usr/local/stow/vim_5.3', je serai sur que le
programme aura ete efface COMPLETEMENT de mon disque!





** Voici comme exemple mon /usr/local/stow actuel:

acroread_3        fpc_0.99.8        nedit_5.0.2       wxxt_1.66
amp_0.7.6         gd_1.3            rar_2.0           xanim_2.70.7.0
candleweb_1.1     kermit_6.0.192    snes9x            xfractint_3.04
demos             klyx_0.9.3        staroffice_4.0    xmame_0.34b3.1
dosemu_0.98.2     l3enc_2.72        tkdesk_1.0b5      xmp_1.1.2
dozer-0.7.2b      libtermcap_1.3    tkfont_1.1        xpinguin
dumb-games        linuxconf_1.13r4  vim_5.3           xpostit+_2.3
dumb_0.13.2       mp3               wine

c'est assez clean, et chaque programme est dans son sous-repertoire
propre.
Et meme si le /usr/local est un peu "bordelique", je garde toujours un
controle absolu des .tgz que j'ai installe :)


** Quand on a une distrib style RedHat ou Debian, on peut ainsi separer
l'abre /usr ou les packages rpm ou deb sont installes, de l'arbre
/usr/local ou on installe les .tgz venus du net.
Et quand j'aurai vim 5.3 dispo en package pour ma Debian, je n'aurai
qu'a desinstaller le tgz avec la manip citee plus haut et a installer le
.deb pour me retrouver avec une distrib absolument propre.

Voila.

--
Olivier
qui aime bien stow.

PS: je me permets de remettre le message de Laurent, qui etait
(peut-etre? ;-) plus clair que le charabia que je viens de pondre.

>As-tu deja essaye l'utilitaire "stow", du GNU? Ca permet d'installer chaque 
>appli dans son propre repertoire, puis de creer/effacer automatiquement des 
>liens vers les repertoires du systeme. Per exemple, Gnome est dans 
>"/usr/local/stow/gnome/bin", "/usr/local/stow/gnome/lib", etc., et des 
>liens sont crees dans "/usr/local/bin" et "/usr/local/lib" avec une simple 
>commande.
>
>Ca n'a pas tous les avantages des .deb, .rpm et autres .stl, mais c'est 
>*beaucoup* plus simple a mettre en oeuvre, et ca fonctionne avec a peu pres 
>tous les sources que j'ai rencontre (particulierement si ca utilise 
>configure, il suffit de faire "./configure --prefix=/usr/local/stow/toto", 
>"make install" puis "cd /usr/local/stow ; stow toto").
>
>-- Laurent


-
Le CULTe sur le ouebe > http://savage.iut-blagnac.fr/
La page de linux-31 > http://savage.iut-blagnac.fr/linux-31/