Les paquets installés dans ce livre ne sont que la partie visible de l'iceberg. Nous espérons que l'expérience acquise avec les livres LFS et BLFS vous donnera les bases nécessaires pour compiler, installer et configurer des paquets non inclus dans ce livre.
Quand vous installez un paquet à un emplacement différent de
/
, ou /usr
, vous l'installez hors des paramètres
d'environnement par défaut de la plupart des machines. Les exemples
suivants devraient vous aider à trouver la solution à ce problème.
Les exemples couvrent tout l'éventail des paramètres qui peuvent
nécessiter une mise à jour, mais ils ne sont pas tous nécessaires
dans toutes les situations.
Étendez la variable PATH
pour
inclure $PREFIX/bin
.
Étendez la variable PATH
de
root
pour inclure $PREFIX/sbin
.
Ajoutez $PREFIX/lib
à
/etc/ld.so.conf
ou étendez la
variable LD_LIBRARY_PATH
pour
l'inclure. Avant de recourir à cette dernière option, consultez
la page http://xahlee.org/UnixResource_dir/_/ldpath.html.
Si vous modifiez /etc/ld.so.conf
,
rappelez-vous de mettre à jour /etc/ld.so.cache
en exécutant la commande
ldconfig en tant
qu'utilisateur root
.
Ajoutez $PREFIX/man
à
/etc/man_db.conf
ou étendez la
variable MANPATH
.
Ajoutez $PREFIX/info
à la
variable INFOPATH
.
Ajoutez $PREFIX/lib/pkgconfig
à
la variable PKG_CONFIG_PATH
. Comme
certains paquets installent maintenant des fichiers
.pc
dans $PREFIX/share/pkgconfig
, il est possible que
vous ayez également à inclure ce répertoire.
Ajoutez $PREFIX/include
à la
variable CPPFLAGS
lors de la
compilation de paquets qui dépendent du paquet que vous avez
installé.
Ajoutez $PREFIX/lib
à la variable
LDFLAGS
lors de la compilation de
paquets qui dépendent d'une bibliothèque installée par le
paquet.
Si vous cherchez un paquet qui n'est pas dans le livre, voici différentes manières de le trouver.
Si vous connaissez le nom du paquet, cherchez-le sur Freecode
sur http://freecode.com/. De même,
cherchez sur Google sur http://google.com/. Une recherche de
rpm
sur http://rpmfind.net/ ou de
deb
sur http://www.debian.org/distrib/packages#search_packages
peut parfois mener à un lien vers le paquet.
Si vous connaissez le nom de l'exécutable mais pas le paquet auquel il appartient, cherchez-le d'abord sur Google. S'il y a trop de résultats, cherchez cet exécutable dans le dépôt Debian sur http://www.debian.org/distrib/packages#search_contents.
Quelques astuces générales sur la gestion des nouveaux paquets :
De nombreux paquets récents suivent le processus ./configure && make && make install. Vous pouvez obtenir de l'aide sur les options acceptées par configure via la commande ./configure --help.
La plupart des paquets contiennent de la documentation sur la compilation et l'installation du paquet. Certaines documentations sont excellentes, mais ce n'est pas toujours le cas. Consultez la page d'accueil du paquet pour obtenir des indications supplémentaires à jour sur la compilation et la configuration du paquet.
Si vous rencontrez un problème lors de la compilation du paquet, cherchez l'erreur dans les archives LFS sur https://www.linuxfromscratch.org/search.html. Si cela ne fonctionne pas, cherchez sur Google. En général une distribution aura déjà corrigé le problème (nombre d'entre elles utilisent les versions de développement des paquets, elles voient donc les changements plus tôt que nous qui utilisons généralement les versions stables publiées). Cependant, faites attention — les outils de construction ont tendance à appliquer des correctifs qui ne sont plus nécessaires et à faire des modifications qui ne sont liées qu'à leur manière de construire un paquet. Vous devrez peut-être faire des recherches approfondies pour trouver un correctif à la version du paquet que vous essayez d'utiliser, voire pour trouver le paquet (les noms sont parfois différents de ceux auxquels on s'attend, comme ghostscript qui a souvent un préfixe ou un suffixe dans son nom), mais les remarques suivantes peuvent vous aider, particulièrement pour ceux qui, comme les éditeurs, souhaitent construire les dernières versions et rencontrent des problèmes :
Arch http://www.archlinux.org/packages/ :
saisissez le nom du paquet dans le champ
« Keywords » (mots-clés), sélectionnez le nom
du paquet, puis le champ « Source Files »
(Fichiers sources), et enfin l'entrée PKGBUILD
pour voir comment le paquet
est construit.
Debian http://ftp.uk.debian.org/debian/pool
(utilisez la version de votre pays s'il y en a
une) : les sources se trouvent dans des archives
.tar.gz (soit les sources originales .orig
, soit les fichiers dfsg
qui contiennent les parties
conformes aux principes du logiciel libre de Debian),
accompagnées d'ajouts versionnés .diff.gz ou .tar.gz. Ces
ajouts montrent souvent la manière dont le paquet est
construit et peuvent contenir des correctifs. Dans les
versions .diff.gz, tous les correctifs créent des
fichiers dans le répertoire debian/patches
.
La source des paquets de Fedora est réorganisée de temps en temps. Pour l'instant la source des paquets rpm se trouve sur https://src.fedoraproject.org/projects/rpms/%2A et à partir de là, vous pouvez saisir le nom d'un paquet dans le champ de recherche. Si le paquet est trouvé, vous pouvez consulter ses fichiers (specfile pour contrôler la construction, et divers correctifs) ou les commits. Si c'est impossible, vous pouvez télécharger un srpm (un rpm source) et en utilisant rpm2cpio (voir les astuces au bas de cette page). Rendez-vous sur https://dl.fedoraproject.org/pub/fedora/linux/ pour les rpm, puis choisissez le dépôt que vous souhaitez consulter : development/rawhide correspond à la dernière version de développement. Choisissez releases pour voir ce qui se trouvait dans une version publiée, updates pour les mises à jour, ou updates/testing pour les dernières mises à jour qui peuvent fonctionner ou avoir des problèmes.
Gentoo : les miroirs des ebuilds et des correctifs
ont l'air bien cachés et ils changent fréquemment. En
outre, si vous avez trouvé un miroir, vous devez
connaître le répertoire où l'application a été rangée.
Vous pouvez consulter les ebuilds eux-mêmes sur http://packages.gentoo.org/ :
utilisez la fonction de recherche. S'il existe un
correctif, les miroirs le proposeront dans le répertoire
files/
. Selon votre
navigateur ou le miroir, il est possible que vous ayez à
télécharger l'ebuild pour pouvoir le lire. Voyez l'ebuild
comme une sorte de combinaison de pseudo-code et de
shell : cherchez en particulier les commandes
sed et les
correctifs, ou tentez de deviner ce que signifient les
différentes fonctions comme dodoc.
openSUSE est une distribution à publication continue. Certaines versions des paquets sont disponibles sur http://download.opensuse.org/source/tumbleweed/repo/oss/src/ mais d'autres se trouvent dans ../update/openSUSE-current/src : les sources ne semblent disponibles que dans des rpm sources.
Slackware : actuellement le navigateur de paquets
officiel ne fonctionne pas. Le site http://slackbuilds.org/
regroupe les versions précédentes et actuelles dans leur
dépôt non officiel, avec des liens vers les pages
d'accueil, les téléchargements et des fichiers
individuels, en particulier les fichiers .SlackBuild
.
Ubuntu ftp://ftp.ubuntu.com/ubuntu/pool/ : voir les notes Debian ci-dessus.
Si vous n'y parvenez pas, essayez la liste de diffusion blfs-support.
Si vous avez trouvé un paquet qui n'est disponible qu'au format
.deb
ou .rpm
, deux petits scripts rpm2targz et deb2targz sont disponibles sur
https://anduin.linuxfromscratch.org/BLFS/extras/deb2targz.tar.bz2
et
https://anduin.linuxfromscratch.org/BLFS/extras/rpm2targz.tar.bz2
pour convertir les archives dans un simple format tar.gz
.
Le script rpm2cpio peut s'avérer utile. La version Perl qui se trouve dans les archives du noyau linux, sur http://lkml.indiana.edu/hypermail/linux/kernel/0210.2/att-0093/01-rpm2cpio, fonctionne pour la plupart des sources rpm. Le script rpm2targz utilise un script ou un binaire rpm2cpio s'il y en a un dans votre PATH. Remarquez que rpm2cpio extrait un rpm source dans le répertoire actuel, et donne une archive tar, un fichier spec, et peut-être des correctifs ou d'autres fichiers.
Last updated on