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é) utilisez la commande ).

For instance, to remove support for KDE and Qt but add support for LDAP, the following USE can be defined in :

Declarer des options de la variable USE pour certains paquets seulement
Sometimes users want to declare a certain USE flag for one (or a couple) of applications but not system-wide. To accomplish this, edit. is typically a single file, however it can also be a directory filled with children files; see the tip below and then for more information on how to use this convention. The following examples assume is a single file.

For instance, to only have Blu-ray support for the VLC media player package:

Similarly it is possible to explicitly disable USE flags for a certain application. For instance, to disable bzip2 support in PHP (but have it for all other packages through the USE flag declaration in ):

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.

The following example temporarily removes the  value from the USE variable during the installation of 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 ̺ afin de lister les paquets sans les retirer.

}}

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 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: