perlmodinstall - Installation des modules CPAN
Un module peut être vu comme une unité de base de code Perl réutilisable ; voyez la page de manuel perlmod pour plus de détails. Dès lors que quelqu'un crée un ensemble de code Perl dont il pense que la communauté pourra y trouver une utilité, il s'inscrit comme développeur Perl à l'adresse http://www.perl.com/CPAN/modules/04pause.html de sorte qu'il puisse exporter ses lignes de code vers le CPAN. LE CPAN est le «Réseau Complet d'Archives Perl» (Comprehensive Perl Archive Network) qui peut être consulté à l'adresse http://www.perl.com/CPAN/. (Ce sigle ne sera pas traduit dans ce document, puisqu'il concerne bien souvent des URL)
La présente documentation a été écrite à l'intention de quiconque désire rapatrier sur sa machine des modules du CPAN pour les y installer.
Vous venez donc de rapatrier un fichier dont l'extension est .tar.gz (ou parfois .zip) dont vous savez qu'il contient un beau module avec de vrais morceaux de code... Il vous faudra franchir les quatres étapes suivantes pour l'installer :
=item B<CONSTRUIRE> le module (parfois ce n'est pas nécessaire)
Voici comment faire chacune de ces étapes pour divers systèmes d'exploitation. Attention, ce texte ne vous dispense pas de lire les fichiers README et INSTALL qui pourraient être livrés avec le module, dans lesquels peuvent se trouver des informations plus spécifiques au module considéré.
Sachez aussi que ces instructions ont été prévues pour une installation
dans le catalogue de modules Perl de votre système,
mais vous pouvez installer des modules dans n'importe quel répertoire.
Par exemple s'il est écrit ici perl Makefile.PL
, vous pouvez remplacer
cette commande par perl Makefile.PL PREFIX=/mon/repertoire_perl
, ce qui
aura pour effet l'installation des modules dans le répertoire
/mon/repertoire_perl
.
Vous pourrez alors utiliser les modules à partir de vos programmes Perl
avec la commande
use lib"/mon/repertoire_perl/lib/site_perl";
or parfois encore plus
simplement use"/mon/repertoire_perl";
.
Vous pouvez utiliser le module CPAN de Andreas Koenig's (http://www.perl.com/CPAN/modules/by-module/CPAN) pour exécuter automatiquement les étapes suivantes, de DECOMPRIMER à INSTALLER.
A. DÉCOMPRIMER
Decomprimez le fichier avec la commande gzip -d votremodule.tar.gz
On peut obtenir gzip à l'adresse ftp://prep.ai.mit.edu/pub/gnu.
Mais vous pouvez aussi combiner cette étape avec la suivante pour économiser de l'espace sur votre disque :
gzip -dc votremodule.tar.gz | tar -xof -
B. DÉBALLER le module
Déballez le fichier résultat avec la commande tar -xof votremodule.tar
C. CONSTRUIRE le module
Allez dans le répertoire nouvellement créé et écrivez :
perl Makefile.PL make make test
D. INSTALLER le module
Vous êtes encore dans le répertoire nouvellement créé ; exécutez alors :
make install
Assurez-vous que vous avez les permissions requises pour pouvoir installer le module dans le répertoire correspondant à la bibliothèque Perl 5. Bien souvent, il vous faudra être root.
Voilà tout ce que vous avez à faire sur un système Unix avec liens dynamiques. La plupart des systèmes Unix possèdent les liens dynamiques --- si ce n'est pas le cas du vôtre, ou si pour une quelconque raison votre perl est à liens statiques B<et> si le module nécessite une compilation, vous devrez construire un nouveau binaire Perl incluant le module. Là encore, vous devrez être root.
A. DÉCOMPRIMER le module
Vous pouvez utiliser Winzip (http://www.winzip.com) pour décomprimer et déballer les modules.
B. DÉBALLER le module
WinZip l'aura déjà fait !
C. CONSTRUIRE le module
Le module doit-il être compilé ? (contient-il des fichiers avec les extensions suivantes : .xs, .c, .h, .y, .cc, .cxx, or .C ?) Si c'est le cas, c'et à vous de jouer ! Vous pouvez essayer de compiler le module vous-même si vous avez un compilateur de C, et en cas de succès, envoyer le code binaire résultat au CPAN, pour que d'autres puissent aussi l'utiliser. Si il n'y a a pas besoin de compiler, vous n'avez rien à faire pour cette étape.
D. INSTALLER le module
Copiez le module dans le répertoire lib de Perl. C'est l'un des répertoires que vous voyez en exécutant la commande :
perl -e 'print "@INC"'
A. DÉCOMPRIMER le module
Au moment de rapatrier le fichier, assurez-vous qu'il termine bien avec
l'extension .tar.gz
ou .zip
. Parfois, Windows enregistre
les fichiers .tar.gz
sous la forme _tar.gz
, car les premières
versions de Windows n'acceptaient pas plus d'un point dans les noms de
fichiers.
Vous pouvez utiliser Winzip (http://www.winzip.com)
pour décomprimer et déballer les modules, mais vous pouvez aussi
utiliser le logiciel unzip
de Info-Zip
(disponible à l'adresse http://www.cdrom.com/pub/infozip/Info-Zip.html)
pour comprimer les fichiers .zip
; exécutez la commande
unzip votremodule.zip
dans l'interpréteur (shell).
Ou encore, si vous disposez de tar
and gzip
, vous pouvez
exécuter :
gzip -cd votremodule.tar.gz | tar xvf -
dans l'interpréteur afin de décomprimer votremodule.tar.gz
. Cela aura
pour effet de DÉBALLER le module par la même occasion.
B. DÉBALLER le module
Quelle que soit la méthode employée pour DÉCOMPRIMER le fichier résultat aura aussi été DÉBALLÉ dans la foulée sans que vous ayez besoin de faire quoi que ce soit.
C. CONSTRUIRE le module
Allez dans le répertoire nouvellement créé et lancez la commande :
perl Makefile.PL dmake dmake test
Selon la configuration de votre Perl, dmake
peut ne pas être
disponible. Vous devrez alors sans doute lui substituer ce que
perl -V:make
vous dira. En général, ce sera nmake
ou make
.
D. INSTALLER le module
Toujours dans ce répertoire, entrez :
dmake install
A. DÉCOMPRIMER le module
Vous pouvez employer au choix StuffIt Expander (http://www.aladdinsys.com/) en combinaison avec DropStuff with Expander Enhancer, ou MacGzip (http://persephone.cps.unizar.es/general/gente/spd/gzip/gzip.html).
B. DÉBALLER le module
Si vous utilisez DropStuff ou Stuffit, il vous suffit d'extraire l'archive .tar, mais vous pouvez aussi utiliser suntar (http://www.cirfid.unibo.it/~speranza).
C. CONSTRUIRE le module
1. Si Le module a besoin d'être compilé
Idée de base: vous aurez besoin de MPW et d'une combinaison de compilateurs CodeWarrior récent et ancien pour MPW et ses bibliothèques. Les Makefiles créés pour construire sous MPW utilisent les compilateurs Metrowerk. Il est vraisemblablement possible de compiler sans autres compilateurs, mais cela n'a pas encore été fait avec succès, à notre connaissance. Voyez la documentation disponible dans ``MacPerl: Power and Ease'' (à l'adresse http://www.ptf.com/macperl/) au sujet des extensions de portage et compilation, ou cherchez une bibliothèque déjà compilée, ou trouvez quelqu'un qui le compile pour vous.
Ou encore, demandez aux abonnés à la liste mac-perl (mac-perl@iis.ee.ethz.ch) de le compiler pour vous. Pour s'abonner à cette liste, écrivez à mac-perl-request@iis.ee.ethz.ch.
2. Si le module n'a pas besoin d'être compilé, continuez ci-dessous.
D. INSTALLER le module
Assurez-vous que les caractères de retour-chariot sont bien en format Mac et non pas en format Unix. Déplacez manuellement les fichiers dans les dossiers correspondants.
Déplacez les fichiers vers leur destination finale. Il s'agira
probablement de $ENV{MACPERL}site_lib:
(c'est à dire
HD:MacPerl site:site_lib:
). Vous pouvez ajouter de nouveaux
chemins à ceux par défaut @INC
dans le menu des préférences de
l'application MacPerl ($ENV{MACPERL}site_lib:
est ajouté
automagiquement).
Créer toute structure de répertoire requise (par exemple, pour
Some::Module
, créez $ENV{MACPERL}site_lib:Some:
et placez
Module.pm
dans ce répertoire).
Exécutez le script suivant (ou quelque chose de semblable):
#!perl -w use AutoSplit; my $dir = "${MACPERL}site_perl"; autosplit("$dir:Some:Module.pm", "$dir:auto", 0, 1, 1);
Un beau jour il finira bien par y avoir une façon d'automatiser ce processus d'installation ; quelques solutions existent déjà, mais aucune d'entre-elles n'est encore prête pour le public.
A. DECOMPRIMER
Le programme djtarx (ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2/) décomprimera et déballera le module.
B. DÉBALLER
Voir le paragraphe ci-dessus
C. COMPILER
Allez dans le répertoire nouvellement créé et s<exécutez :>
perl Makefile.PL make make test
Vous aurez besoin des ensembles de programmes
mentionnés dans Readme.dos
dans la distribution Perl.
D. INSTALLER
Toujours dans ce répertoire nouvellement créé, exécutez :
make install
Vous aurez besoin des ensembles de programmes
mentionnés dans Readme.dos
dans la distribution Perl.
Procurez-vous la suite EMX de développement et gzip/tar, disponibles chez Hobbes (http://hobbes.nmsu.edu) ou Leo (http://www.leo.org), puis suivez les instructions pour Unix.
Au moment de rapatrier le fichier du CPAN, sauvegardez-le avec l'extension
.tgz
au lieu de .tar.gz
. Tous les autres points dans le noms du fichier
devront être remplacés par des tirets bas. Par exemple, le fichier
Votre-Module-1.33.tar.gz
devra être sauvegardé sous le nom
Votre-Module-1_33.tgz
.
A. DECOMPRIMER
Exécutez :
gzip -d Votre-Module.tgz
ou, pour les modules zippés, exécutez :
unzip Votre-Module.zip
Les exécutables de gzip, zip, and VMStar (Alphas: http://www.openvms.digital.com/cd/000TOOLS/ALPHA/ et Vaxen: http://www.openvms.digital.com/cd/000TOOLS/VAX/).
gzip and tar se trouvent aussi chez ftp://ftp.digital.com/pub/VMS.
Remarquez que les gzip et gunzip de GNU ne sont pas identiques à ceux de Info-ZIP. Alors que le premier n'est qu'un outil de compression et décompression, le second permet de créer des archives multi-fichiers.
B. DÉBALLER
Si vous utilisez VMStar:
VMStar xf Your-Module.tar
Ou, si vous aimez bien la syntaxe de VMS :
tar/extract/verbose Your_Module.tar
C. CONSTRUIRE
Assurez-vous que vous êtes en possession de MMS (de Digital) ou du logiciel libre MMK (disponible chez MadGoat, http://www.madgoat.com). Puis, exécutez la commande qui suit pour créer le DESCRIP.MMS correspondant au module:
perl Makefile.PL
Vous êtes alors prêt à construire :
mms mms test
Substituez mmk
à mms
ci-dessus si vous utilisez MMK.
D. INSTALLER
Exécutez :
mms install
Substituez mmk
à mms
ci-dessus si vous utilisez MMK.
Enregistrez en binaire le fichier .tar.gz sur un HFS ; NE traduisez pas de ASCII à EBCDIC.
A. DECOMPRIMER
Decomprimez le fichier avec la commande C<gzip -d votremodule.tar.gz>
gzip se trouve notamment S<à :> http://www.s390.ibm.com/products/oe/bpxqp1.html.
B. DÉBALLER
Déballez le résultat avec la commande :
pax -o to=IBM-1047,from=ISO8859-1 -r < votremodule.tar
Les étapes CONSTUIRE et INSTALLER sont identiques à celles pour Unix. Certains modules génèrent des makefiles qui marchent mieux avec le make de GNU, disponible à l'adresse http://www.mks.com/s390/gnu/index.htm.
Si vous avez des suggestions de modification de cette page, faites-le moi savoir. S'il vous plaît, ne m'envoyez pas de courriels de demande d'aide à l'installation de vos modules. Il y a bien trop de modules, et bien trop peu de Orwant pour que je puisse répondre à ni accuser réception de vos questions. Écrivez plutôt à l'auteur du module en question ou envoyez un message à comp.lang.perl.modules, ou bien demandez de l'aide à quelqu'un familiarisé avec Perl sur votre système d'exploitation.
Jon Orwant
The Perl Journal Perl, http://tpj.com
Avec l'aide incalculable de Brandon Allbery, Charles Bailey, Graham Barr, Dominic Dunlop, Jarkko Hietaniemi, Ben Holzman, Tom Horsley, Nick Ing-Simmons, Tuomas J. Lukka, Laszlo Molnar, Chris Nandor, Alan Olsen, Peter Prymmer, Gurusamy Sarathy, Christoph Spalinger, Dan Sugalski, Larry Virden, et Ilya Zakharevich.
Le 22 juillet 1998.
Copyright (C) 1998 Jon Orwant. Tous droits réservés. Yves Maniette Yves@Maniette.com pour la version en français.
Permission est accordée de fabriquer et distribuer des copies verbatim de cette documentation à condition que soient indiquées sur toutes les copies la notice de copyright et cette notice de permission.
Permission est accordée de copier et distribuer des versions modifiées de cette documentation sous les mêmes conditions que pour les les copies verbatim, et à la condition qu'il soit clairement mentionné qu'il s'agit de versions modifiées, que ne soient pas modifiées les noms et titres des auteurs (bien que puissent être ajoutés des sous-titres et des noms d'auteurs supplémentaires), et que le nouveau produit soit aussi distribué selon les termes d'une notice de permission identique à celle-ci.
Permission est accordée de copier et distribuer des traductions de cette documentation en d'autres langues, dans les conditions indiquées ci-dessus pour les versions modifiées.
Cette traduction française correspond à la version anglaise distribuée avec perl 5.005_02. Pour en savoir plus concernant ces traductions, consultez http://perl.enstimac.fr/.
Yves Maniette <Yves@Maniette.com>.
Personne pour l'instant.