Avertissement :
Ce manuel a été remplacé par une version plus récente et n'est plus maintenu.
|
[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
2. La variable USE
Table des matières :
2.a. Que sont les paramètres USE ?
Les notions sous-jacentes aux paramètres USE
Losque vous installez Gentoo (ou n'importe quelle autre distribution, voire
système d'exploitation), vous faites des choix qui dépendent de
l'environnement dans lequel vous travaillez. La configuration d'un serveur est
différente de celle d'une station de travail. Une machine destinée aux jeux
diffère d'une station de travail pour du rendu 3D.
Cela s'applique non seulement au choix des paquets que vous comptez installer,
mais aussi aux fonctionnalités que chaque paquet devrait supporter. Si vous
n'avez pas besoin d'OpenGL, pourquoi prendre la peine d'installer OpenGL et de
construire la plupart de vos paquets avec support pour OpenGL ? Si vous ne
souhaitez pas utiliser KDE, pourquoi compiler des paquets avec le support KDE
alors qu'ils fonctionneraient parfaitement sans ce support ?
Pour aider les utilisateurs à déterminer ce qu'ils veulent installer ou activer,
nous souhaitions que l'utilisateur spécifie son environnement de manière simple.
Il est ainsi obligé de décider ce qu'il veut vraiment, et cela facilite la tâche
de Portage, notre gestionnaire de paquets, pour prendre les décisions utiles.
Définition des paramètres USE
C'est ici qu'interviennent les paramètres USE. Un tel paramètre est un mot-clé
qui définit le support et les dépendances pour un concept donné. Si vous
définissez un paramètre USE donné, Portage saura que vous voulez avoir le support
correspondant au mot-clé choisi. Bien entendu, cela affecte aussi les
dépendances des paquets.
Considérons un exemple spécifique : le mot-clé kde. Si vous n'avez pas ce
mot-clé dans votre variable USE, tous les paquets qui offrent un support
optionnel pour KDE seront compilés sans ce support. Tous les
paquets qui possèdent des dépendances KDE optionnelles seront installés
sans installer les bibliothèques KDE (en tant que dépendances). Si vous
avez le mot-clé kde, alors ces paquets seront compilés avec le
support KDE et les bibliothèques KDE seront installées en tant que dépendances.
Définir correctement ces mots-clés vous donnera finalement un système adapté
spécifiquement à vos besoins.
Quels sont les paramètres USE disponibles ?
On distingue deux types de paramètres USE : les paramètres globaux et
locaux.
-
Un paramètre USE global est utilisé par plusieurs paquets dans
l'ensemble du système. C'est ce que la plupart des gens considèrent comme
les paramètres USE.
-
Un paramètre USE local n'est utilisé que par un seul paquet et n'est
utilisé que pour des décisions spécifiques à ce paquet.
Une liste des paramètres USE peut être trouvée en ligne ou localement dans
/usr/portage/profiles/use.desc. Un court extrait (très incomplet) :
Exemple de code 1.1 : Court extrait des paramètres USE disponibles |
gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit)
gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both.
gtkhtml - Adds support for gnome-extra/gtkhtml
guile - Adds support for dev-util/guile (interpreter for Scheme)
icc - Use the Intel C++ Compiler if the package supports it
icc-pgo - Enable PGO data generation or use when use icc.
imap - Adds support for IMAP
|
La liste des paramètres USE locaux se trouve dans le fichier
/usr/portage/profiles/use.local.desc.
2.b. Utiliser les paramètres USE
Déclarer des paramètres USE permanents
Nous allons maintenant vous expliquer comment déclarer des paramètres USE, en
espérant que vous soyez convaincu de leur importance.
Comme mentionné plus haut, tous les paramètres USE sont déclarés dans la
variable USE. Pour permettre aux utilisateurs de trouver et choisir
facilement les paramètres USE, nous fournissons une configuration
par défaut de USE. Cette configuration est un ensemble de paramètres
USE dont nous pensons qu'ils sont communément employés par les utilisateurs
de Gentoo. Cette configuration par défaut est déclarée dans le fichier
/etc/make.profile/make.defaults. Jetons-y un coup d'oeil :
Exemple de code 2.1 : Variable USE de /etc/make.profile/make.defaults sur un système x86 |
USE="x86 oss apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm
gtk gtk2 imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses
nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl
slang spell ssl svga tcpd truetype X xml2 xmms xv zlib"
|
Comme vous pouvez le voir, cette variable contient déjà un bon nombre de
mots-clés. Ne modifiez pas le fichier
/etc/make.profile/make.defaults pour adapter la variable USE
à vos besoins : les changements effectués dans ce fichier seront effacés
lorsque vous mettrez Portage à jour !
Pour modifier cette configuration par défaut, vous devrez ajouter ou enlever des
mots-clés dans la variable USE. Cela est fait de manière globale en
définissant la variable USE dans /etc/make.conf. Dans cette
variable, vous ajouterez les paramètres USE que vous désirez et
enlèverez ceux que vous ne voulez pas. Cette dernière action est réalisée en
préfixant le mot-clé d'un signe moins ("-").
Par exemple, pour enlever le support pour KDE et QT, et ajouter le support pour
ldap, vous pourriez définir USE comme suit dans
/etc/make.conf :
Exemple de code 2.2 : Exemple de configuration USE dans /etc/make.conf |
USE="-kde -qt ldap"
|
Déclarer des paramètres USE spécifiques à des paquets
Parfois, vous voudrez déclarer certains paramètres USE pour une ou plusieurs
applications particulières mais pas pour l'ensemble du système. Pour cela, vous
devez créer le répertoire /etc/portage (s'il n'existe pas déjà) et
éditer le fichier /etc/portage/package.use.
Par exemple, si vous ne voulez pas du support global berkdb mais si vous
le voulez tout de même pour mysql, vous devrez y ajouter la ligne
suivante :
Exemple de code 2.3 : Exemple de /etc/portage/package.use |
dev-db/mysql berkdb
|
Vous pouvez également désactiver explicitement un paramètre USE
pour une application particulière. Par exemple, si vous ne voulez pas du support
java dans PHP :
Exemple de code 2.4 : Second exemple de /etc/portage/package.use |
dev-php/php -java
|
Déclarer des paramètres USE temporaires
Il peut arriver que vous ne souhaitiez définir un paramètre USE donné qu'en une
seule occasion. Plutôt qu'éditer /etc/make.conf deux fois (pour
faire puis défaire les changements), vous pouvez simplement déclarer USE comme
une variable d'environnement. Gardez toutefois à l'esprit que cette
modification de l'environnement sera probablement perdue lorsque vous
réinstallerez ou mettrez à jour cette application (soit explicitement, soit
lors d'une mise à jour du système).
Par exemple, nous allons retirer temporairement le support java de notre
configuration USE pendant l'installation de mozilla.
Exemple de code 2.5 : Utilisation de USE comme une variable d'environnement |
# USE="-java" emerge mozilla
|
Héritage des paramètres USE
Certains paquets ne se contentent pas de lire les paramètres USE, mais en
définissent eux-mêmes. Lorsque vous installez un tel paquet, le paramètre USE
qu'il fournit est ajouté à votre configuration USE. Pour voir la liste des
paquets qui fournissent un nouveau paramètre USE, consultez
/etc/make.profile/use.defaults :
Exemple de code 2.6 : Extrait de /etc/make.profile/use.defaults |
gnome gnome-base/gnome
gtk x11-libs/gtk+
qt x11-libs/qt
kde kde-base/kdebase
motif x11-libs/openmotif
|
Ordre de priorité
Les différentes configurations de USE se conforment évidemment à un certain
ordre de priorité. Vous ne souhaitez sans doute pas déclarer USE="-java"
pour vous rendre compte après coup que java était déclaré malgré tout.
Les priorités dans les déclarations USE sont ordonnées comme suit (la première
déclaration a la plus faible priorité) :
-
Déclaration par défaut dans /etc/make.profile/make.defaults
-
Déclaration héritée si un paquet de
/etc/make.profile/use.defaults est installé
-
Déclaration par l'utilisateur dans /etc/make.conf
-
Déclaration par l'utilisateur dans /etc/portage/package.use
-
Déclaration par l'utilisateur comme une variable d'environnement
Pour voir la configuration finale de USE telle qu'elle est vue par
Portage, exécutez emerge info. Cela listera toutes les variables
significatives (dont la variable USE) avec leur contenu tel qu'il est vu
par Portage.
Exemple de code 2.7 : Exécuter emerge info |
# emerge info
|
Reconfigurer votre système pour tenir compte des options USE
Si vous avez modifié vos options de la variable USE et que vous voulez
reconfigurer votre système pour tenir compte de ces nouvelles options, utilisez
l'option --newuse :
Exemple de code 2.8 : Recompiler tout le système |
# emerge --update --deep --newuse world
|
Ensuite, utilisez l'option depclean pour supprimer les dépendances
conditionnelles qui ne seraient plus utilisées.
Attention :
Exécuter emerge depclean est une opération risquée qui ne devrait pas
être lancée à la légère. Vérifiez bien que la liste des paquets qui vont être
supprimés ne contient pas de paquet dont vous avez encore besoin. Dans
l'exemple ci-dessous, nous utilisons l'option -p pour afficher la liste
sans rien supprimer.
|
Exemple de code 2.9 : Supprimer les paquets inutiles |
# emerge -p depclean
|
Quand cette opération est terminée, lancez revdep-rebuild pour
recompiler les applications qui avaient été liées dynamiquement avec les
paquets que vous venez de supprimer. La commande revdep-rebuild fait
partie du paquet gentoolkit ; n'oubliez pas de l'installer.
2.c. Paramètres USE spécifiques à un paquet
Savoir quels paramètres USE influencent un paquet
Prenons l'exemple de mozilla : à quels paramètres USE est-il
sensible ? Pour le savoir, nous utilisons emerge avec les options
--pretend et --verbose :
Exemple de code 3.1 : Afficher les paramètres USE qui influencent un paquet |
# emerge --pretend --verbose mozilla
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] net-www/mozilla-1.5-r1 +java +crypt -ipv6 -gtk2 +ssl +ldap
+gnome -debug +mozcalendar -mozaccess -mozxmlterm -moznoirc -moznomail
-moznocompose -moznoxft
|
emerge n'est pas le seul outil utilisable à cette fin. En effet, nous
disposons d'un outil dédié pour obtenir des informations sur les paquets. Il
s'appelle etcat et appartient au paquet gentoolkit. Commencez par
installer gentoolkit :
Exemple de code 3.2 : Installer gentoolkit |
# emerge gentoolkit
|
Exécutez maintenant etcat avec l'argument uses pour afficher les
paramètres USE d'un paquet donné. Par exemple, pour le paquet gnumeric :
Exemple de code 3.3 : Utiliser etcat pour afficher les paramètres USE |
# etcat uses gnumeric
[ Colour Code : set ]
[ Legend : (U) Col 1 - Current USE flags ]
[ : (I) Col 2 - Installed With USE flags ]
U I [ Found these USE variables in : app-office/gnumeric-1.2.0 ]
- - : Adds GNU Data Access (CORBA wrapper) support for gnumeric
- - : unknown
+ + python : Adds support/bindings for the Python language
+ + bonobo : Adds support for gnome-base/bonobo (Gnome CORBA interfaces)
|
[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|