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 quoi installer/activer ou pas, Gentoo 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. 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 liste des valeurs disponible pour les option globales (global USE flags) est disponibles au site principal ou localement dans le fichier. Une liste des valeurs disponible pour les option locales (local USE flags) est disponibles au site principal ou localement dans le fichier.
 * Une option (USE flag) 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 (USE flag) 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é) utiliser la commande :

Comme on peut le voir, cette variable contient déjà beaucoup de mots-clés. Néanmoins, ne pas modifier le fichier pour adapter la variable USE aux besoins personnels : les changements apportés au fichier seront écrasés lors de la mise à jour du répertoire Gentoo !

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 supprimer la prise en charge de KDE et de Qt mais en ajoutant le support de LDAP, il est possible de 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 plusieurs) paquets mais pas pour tout le système. Pour ce faire, éditer le fichier. est généralement un seul fichier, mais il peut aussi s'agir d'un répertoire remplis de sous fichiers ; se reporter à l'astuce ci-dessous et à la page man de portage pour plus d'informations. Les exemples suivants assument que est un simple fichier.

Par exemple, pour n'ajouter que le support du Blu-ray dans le paquet du lecteur multimédia VLC :

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 bzip2 dans PHP (mais l'avoir pour tous les autres paquets via la déclaration des options de USE dans ) :

Déclarer temporairement des options 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'exemple suivant retire temporairement la prise en charge de  des options de la variable USE lors de 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 applicable a Portage ( USE inclue) et leur actuelles utilisation par Portage.

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, utiliser 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 ; penser à l'installer avant.

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

Lister les options disponibles
Prendre l'exemple du paquet seamonkey: par quelles options de la variable USE est-il concerné ? Pour le savoir, utiliser avec 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 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 REQUIRED_USE. 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 l'expression REQUIRED_USE sont donnés ci-dessous: