Next: Paquets binaires RedHat et
Up: Paquets sources et binaires.
Previous: Paquets sources et binaires.
Table des matières
25.1 Construction de paquets sources GNU.
Presque tous les paquets proviennent de sources C (archivées
par la commande tar et compressées) disponibles
à partir d'un des sites FTP publiques comme metalab.unc.edu.
Les développeurs attentifs ont préparé des paquets conformes aux normes
de GNU (GNU standards compliant). Ceci veut dire que le désarchivage
du paquet produit les fichiers suivants dans un répertoire principal
(le plus souvent de même nom que celui du paquet):
- INSTALL
- C'est le document de référence qui commence par la ligne
``These are generic installation instructions.''
Etant donné que tous les paquets GNU sont installés de la même manière,
ce fichier devrait toujours être le même d'un paquet à l'autre.
- NEWS
- Ce sont les commentaires (relatifs aux nouveautés) à l'attention
des utilisateurs.
- README
- Toute information essentielle y est contenue. Il s'agit traditionnellement
des explications à propos de ce que réalise le programme, le matériel
promotionnel et toute information nécessaire à l'installation du paquet.
- COPYING
- Ce fichier contient la licence GNU-GPL (GNU General Public
Licence).
- AUTHORS
- Ce fichier contient la liste des personnes contribuant au
projet.
- ChangeLog
- Il s'agit d'une liste de format spécial contenant un historique
de tous les changements faits sur le paquet, les noms de personnes
l'ayant modifié et la date des modifications. Ce fichier est utilisé
pour tracer les modifications effectuées au cours du temps.
Le fait qu'un paquet obéisse au standard de GNU signifie aussi qu'il
doit pouvoir être installé à l'aide des trois commandes:
./configure
make
make install
|
Cela implique également que les paquets doivent pouvoir être compilés
sur n'importe quel système UNIX. Par conséquent, cette section
va vous apprendre à utiliser des paquets LINUX pouvant être
installés et pouvant fontionner sur des systèmes non-LINUX.
Nous allons choisir un exemple à titre d'illustration. Commençons
par télécharger cooledit à partir du site
metalab.unc.edu. dans le répertoire /pub/Li
nux/apps/editors/X/cooledit, en utilisant ftp.
[NdT: par exemple en lançant ftp, puis en
entrant open metalab.unc.edu.] Maintenant, entrez:
cd /opt/src
tar -zxvf cooledit-3.17.5.tar.gz
cd cooledit-3.17.5
|
Vous noterez que le nom de la plupart des sources est du type package-major.mi
nor.patch.tar.gz. Le nombre majeur n'est
modifié que lorsque les développeurs ont réalisé des changements substantiels
ou lorsqu'une version présente des incompatibilités vis-à-vis des
versions précédentes. Le nombre mineur est mis à jour lors de modifications
peu importantes. Le numéro de correctif (patch, aussi connu
sous le terme niveau de correctif) correspond à une mise à
jour vers toute nouvelle version (release) et usuellement,
dans ce cas, il y a des corrections de bogues.
A ce stade, vous pouvez appliquer au besoin tous les patches dont
vous disposez. Référez-vous à la section 21.7.3.
Vous pouvez alors lancer la commande ./configure.
Le script ./configure est produit par autoconf,
un paquet utilisé par les développeurs pour créer un code source C
qui compilera le paquet sur tout type d'UNIX. Le paquet autoconf
contient également les GNU Coding Standards auxquels tous logiciels
devraient se conformer [autoconf
est le fruit du travail remarquable de David MacKenzie.
J'ai souvent entendu le mythe selon lequel les systèmes Unix avaient
tellement divergé au cours du temps qu'ils n'étaient plus compatibles.
Le fait qu'un logiciel évolué comme cooledit
(et de nombreux autres) soit compilable sur tous
les UNIX devrait
dissiper ce non-sens. Il y a aussi un exagération à propos des developpeurs
``portant'' des logiciels UNIXcommerciaux sous LINUX.
Si pour commencer, ils avaient écrits leur logiciel proprement, il
n'y aurait pas de ``portage'' à réaliser. En bref, tousles logiciels LINUXfonctionnent sur tous les UNIX.
Les seules exceptions sont des paquets qui exploitent des caractéristiques
propres au noyau LINUX].
./configure -prefix=/opt/cooledit
|
En l'occurrence, -prefix indique le
répertoire-parent sous lequel le paquet sera installé (voir la section
18.2). Essayez ensuite:
pour obtenir les options spécifiques au paquet.
Une autre astuce consiste à fixer les options de compilation:
CFLAGS='-O2 -fomit-frame-pointer
-s -pipe' ./configure -prefix=/opt/cooledit
|
Ces options ont la signification suivante:
- -O2
- fixe les options de compilation pour ``rendre le paquet compilé
aussi rapide que possible sans en augmenter la taille'' (-O3
ne produit pratiquement jamais d'amélioration).
- -fomit-frame-pointer
- permet au compilateur d'utiliser un registre
supplémentaire qui, normalement, est dévolu au débogage. N'utilisez
cette option que lorsque vous êtes absolument sûr que vous ne devrez
pas analyser des problèmes associés à l'installation d'un paquet.
- -s
- élimine le code objet. Ceci réduit la taille du code objet en
supprimant toute donnée de débogage.
- -pipe
- indique de ne pas utiliser de fichiers temporaires. En fait,
cette option permet d'utiliser des tubes pour distribuer le code parmi
les différents étages de compilation. Elle s'avère utile pour accélérer
la compilation.
A présent, il faut compiler le code, ce qui peut prendre jusqu'à plusieurs
heures en fonction de la quantité de code et de la puissance de la
CPU [cooledit est
compilé en moins de 10 minutes sur toute machine de base existant
au moment de la rédaction de la version originale anglaise de cet
ouvrage (NdT: 2001)].
Vous pouvez aussi lancer:
si vous décidez de compiler avec l'aide de débogage. L'installation
se poursuit avec:
Voici une jolie astuce [qui n'est pas toujours
supportée] pour installer le paquet dans un sous-répertoire différent
:
mkdir /tmp/cooledit
make install prefix=/tmp/cooledit
|
Vous pouvez utiliser ces commandes pour empaqueter la construction
ainsi réalisée afin de la désarchiver sur un système différent. Cependant,
vous ne devrez pas exécuter le programme à partir d'un répertoire
différent de celui pour lequel il a été -prefixé
durant l'étape d'installation. En effet, en majorité, les paquets
sont compilés à cet endroit et accèdent aux données installées
en fonction de cela.
L'utilisation d'un paquet source est souvent le meilleur moyen de
pratiquer une installation quand vous voulez qu'un paquet fonctionne
de la manière imaginée à l'origine par ses développeurs. Il vous sera
aussi souvent nécessaire de trouver de la documentation car il se
peut que les distributeurs aient oublié d'inclure certains fichiers.
Next: Paquets binaires RedHat et
Up: Paquets sources et binaires.
Previous: Paquets sources et binaires.
Table des matières
1-01-2006