Handbook:Parts/Working/USE/fr

À quoi servent les options de la variable USE ?
Lors de l'installation de Gentoo (ou de toute autre distribution) l'utilisateur doit faire des choix qui dépendent de l'environnement dans lequel il travaille. La configuration d'un serveur diffère de la configuration d'une station de travail. Une station dédiée au jeu diffère d'une station dédiée au rendu 3D.

Ceci n'est pas seulement vrai pour déterminer quels paquets installer, mais aussi pour déterminer quelles fonctionnalités un paquet doit prendre en charge. S'il n'y a nul besoin d'OpenGL, pourquoi s'embarrasser à l'installer et à le maintenir et pourquoi compiler la plupart des paquets avec la prise en charge d'OpenGL ? Si quelqu'un ne désire pas utiliser KDE, pourquoi s'embarrasserait-il à compiler les paquets avec la prise en charge de KDE si ces derniers peuvent fonctionner correctement sans ?

Afin d'aider les utilisateurs à décider ce qu'ils doivent installer/activer et ce qu'il ne doivent pas installer/activer, Gentoo leur permet de spécifier leur environnement d'une manière aisée. Cela force l'utilisateur à décider de quoi il a réellement besoin et facilite le travail à Portage pour prendre les décisions utiles.

Définition d'une option de la variable USE
Entrons dans l'univers des options de la variable USE. Une telle option est un mot clé qui représente la prise en charge et les informations de dépendance pour un concept donné. Si quelqu'un définit une option particulière de la variable USE, Portage sait qu'il désire la prise en charge associée à ce mot clé. Bien sûr cela altère aussi les informations de dépendance pour un paquet.

Prenons l'exemple de l'option kde. Si cette option n'est pas donnée pour la variable USE, tous les paquets qui sont capables de prendre KDE en charge de manière optionnelle seront compilés sans la prise en charge de KDE. Tous les paquets qui ont cette prise en charge optionnelle de KDE seront installés sans que soit installées les bibliothèques de KDE (en tant que dépendances). Si l'option kde est définie, ces paquets seront compilés avec la prise en charge de KDE et les bibliothèques de KDE seront installées en tant que dépendances.

En définissant correctement les mots clés, le système pourra être parfaitement adapté au besoin de l'utilisateur.

Les différents types d'options de la variable USE
Il existe deux types d'options de la variable USE : les options globales et les options locales.


 * Une option globale est utilisée par plusieurs paquets, à l'échelle du système. C'est ce que la plupart des gens voit dans la notion d'option de la variable USE.
 * Une option locale  n'est utilisée que par un seul paquet pour des décisions spécifiques.

Déclarer des options permanentes de la variable USE
Comme nous l'avons indiqué précédemment, toutes les options de la variable USE sont déclarées dans la variable USE. Pour faciliter la recherche et la sélection des options, nous fournissons déjà des options par défaut. Il s'agit d'une collection d'options que nous pensons être couramment utilisées par les utilisateurs de Gentoo. Ces options par défaut sont déclarées dans les fichiers qui font partie du profil choisi.

Le profil que le système considère est pointé par le lien symbolique. Chaque profil se superpose aux autres profils, et le résultat final est la somme de tous les profils. Le profil au dessus de la pile est le profil de base.

Pour voir les options actives de la variable USE (dans leur totalité) utilisez la commande :

Comme vous pouvez le constater, la variable contient pas mal de mots clé. Néanmoins, ne modifiez pas le fichier pour adapter la variable USE à vos besoins: les changements apportés seraient écrasés lors de la mise à jour de l'arbre de portage !

Pour modifier ces valeurs par défaut, ajoutez ou retirez des mots clé à/de la variable USE. Ceci est effectué globalement en définissant la variable USE dans le fichier. Dans ce fichier on peut ajouter les options supplémentaires requises à la variable USE, ou retirer celles dont on a plus besoin. Cette dernière opération – le retrait d'une option — est fait en préfixant le mot clé par le signe moins.

Par exemple, pour retirer la prise en charge de KDE et de QT mais en ajoutant la prise en charge de ldap, on peut définir la variable USE suivante dans :

Declarer des options de la variable USE pour certains paquets seulement
Parfois, les utilisateurs veulent déclarer une certaine option de la variable USE pour un (ou deux) paquets mais pas pour tout le système. Pour le faire, ils doivent éditer le fichier. Il s'agit ordinairement d'un seul fichier, mais il peut aussi s'agir d'un repertoire; reportez-vous à la page man de portage  pour plus d'informations. L'exemple suivant suppose que est un fichier.

Par exemple, pour avoir la prise en charge de berkdb par mysql:

De la même manière, il est possible de désactiver explicitement une option de la variable USE pour une application donnée. Par exemple, pour retirer la prise in charge de java dans PHP (mais l'avoir pour tous les autres paquets via la déclaration des options de USE dans ):

Déclarer des options temporaires de la variable USE
Il est parfois nécessaire d'activer une option de la variable USE pour un court instant. Au lieu d'éditer le fichier deux fois (pour apporter et retirer les modifications), contentez-vous de déclarer la variable USE dans une variable d'environnement. Rappelez-vous que ce réglage s'applique seulement à la commande saisi: la ré-installation ou la mise à jour de l'application (soit explicitement, soit comme faisant partie d'une mise à jour du système) effacera les changements qui auraient été déclenchés via l'option temporaire de la variable USE.

L'exempe suivant retire la prise en charge de java des options de USE pendant l'installation de seamonkey.

Priorité
Bien sûr, les différents réglages de la variable USE n'ont pas tous la même priorité. Les règles de priorité, classées de la plus faible à la plus forte sont:
 * 1) Les réglages par défaut déclarés dans les fichiers de votre profil
 * 2) Les réglages de USE définis par l'utilisateur dans
 * 3) Les réglages de USE définis par l'utilisateur dans
 * 4) Les réglages de USE définis par l'utilisateur en tant que variables d'environnement

Pour voir le réglage final de la variable USE tel que vu par Portage, utilisez la commande. Celle-ci listera toutes les variables vues par Portage (y compris USE) et leur définition en cours.

Adapter le système complet aux nouvelles options de la variable USE
Après avoir modifié des options de la variable USE, le système doit être mis à jour pour refléter les changements. Pour ce faire, utilisez l'option   dans la commande  :

Ensuite, exécutez la commande  de portage pour retirer les dépendances installées pour l'ancien système mais qui ne sont plus nécessaires avec les nouvelles options de la variable USE.

}}

Après que le retrait des dépendances obsolètes a été fait par depclean, utilisez la commande   pour recompiler les applications qui sont liées dynamiquement à des objets partagés fournis éventuellement par des paquets retirés. fait partie du paquet ; pensez à l'installer d'abord.

En fin de compte, le système utilise maintenant les nouvelles options de la variable USE.

Lister les options disponibles
Prenons l'exemple du paquet seamonkey: par quelles options de la variable USE est-il concerné ? Pour le savoir, nous utilisons  avce l'option    et l'option   :

n'est pas le seul outil pour cela. En fait, il existe un outil dédié à l'information sur les paquets. Cet outil est. Il fait partie du paquet.

Utilisez maintenant  equery avec l'argument uses pour voir les options de la variable USE concernant un paquet donné. Par exemple, pour le paquet gnumeric:

Satisfaire les conditions imposées par l'expression REQUIRED_USE
Quelques ebuilds requièrent ou interdissent certaines combinaisons d'options de la variable USE pour fonctionner correctement. Ceci se traduit par un ensemble de conditions placées dans l'expression. Ces conditions garantissent que toutes les fonctionnalités et les dépendances seront assurées et que la compilation réussira et fonctionnera comme attendu. Si toutes les conditions ne sont pas respectées, emerge lancera une alerte et vous demandera de régler le problème.

Quelques exemples de cette expression sont donnés ci-dessous: