USE flag/fr (drapeau USE)
emerge — configuration — ebuild repository — dispatch-conf
world file — USE flags — ebuilds — profiles
upgrades — using testing packages — binary packages
tools — gentoolkit — eselect
Portage FAQ — cheat sheet — FAQ
all articles
Les drapeaux USE sont des mots-clés qui représentent le support et les informations de dépendance pour un concept donné. Ils sont une fonctionnalité essentielle de Gentoo, et bien comprendre comment les gérer est nécessaire pour administrer un système Gentoo.
Les drapeaux USE servent à configurer Portage pour déterminer comment chaque paquet sera configuré lors de l'installation ou de la mise à jour. Les drapeaux USE peuvent configurer de nombreux aspects d'un paquet, et les drapeaux USE disponibles ainsi que les fonctionnalités optionnelles correspondantes dépendent de chaque logiciel spécifique.
Les drapeaux USE peuvent modifier une gamme de comportements de paquet. Ils définissent souvent des options au moment de la compilation, bien que ces options de configuration ne soient pas systématiquement exposées via les drapeaux USE - il appartient aux mainteneurs de paquets de décider quelles options sont utiles à fournir sous forme de drapeaux USE. Les drapeaux USE peuvent spécifier quelles bibliothèques ou utilitaires optionnels seront liés à un paquet, déterminant souvent les dépendances. Un autre exemple de ce que les drapeaux USE peuvent modifier est les fichiers inclus dans une installation, comme l'inclusion ou non de la documentation.
Cette capacité à choisir des options uniquement disponibles lors de l'installation d'un paquet est l'un des grands avantages que Gentoo tire de son modèle basé sur le code source.
La distribution entière est fournie avec des drapeaux USE raisonnables par défaut, qui peuvent être affinés en sélectionnant un profil adapté à l'utilisation prévue du système. Les paquets ont chacun leur propre ensemble de drapeaux USE disponibles, en fonction de ce qui peut être configuré pour le paquet, et ceux-ci sont également réglés sur des valeurs par défaut raisonnables. L'ordre dans lequel les drapeaux USE sont appliqués est spécifié par la variable USE_ORDER.
Les concepts de base sur la façon de travailler avec les drapeaux USE peuvent être trouvés dans le Manuel. Voir aussi /etc/portage/package.use pour la définition d'un drapeau pour un paquet, et /etc/portage/make.conf pour les drapeaux qui doivent être définis globalement.
Déclaration des drapeaux USE
Techniquement, le dépôt ebuild de Gentoo est fourni avec un petit ensemble de drapeaux USE par défaut. Les drapeaux USE par défaut sont ensuite définis par le profil sélectionné. Chaque paquet est accompagné d’un ensemble de drapeaux USE disponibles, qui peuvent également avoir un état par défaut si cela est justifié dans le contexte du paquet. Chaque couche remplace la précédente pour configurer Portage et préparer l’installation de chaque paquet.
Un drapeau USE peut avoir trois états : activé, désactivé ou par défaut. Les drapeaux USE peuvent être activés ou désactivés globalement dans la variable USE dans make.conf, ou pour des paquets spécifiques dans /etc/portage/package.use.
La présence d'un drapeau USE dans l'un de ces fichiers activera ce drapeau USE. L'inclusion d'un drapeau USE précédé du signe moins ("-") désactive ce drapeau USE. Si un drapeau USE n'est pas présent à l'un de ces endroits, la valeur par défaut sera utilisée.
Il est souvent préférable de définir les drapeaux USE par paquet plutôt que sur l'ensemble du système. Les valeurs par défaut des drapeaux sont usuellement généralement fixées à une valeur saine par défaut - réfléchissez bien aux drapeaux à définir globalement dans make.conf.
Bien qu'un drapeau USE puisse en théorie être temporairement défini sur la ligne de commande dans une variable d'environnement (par exemple USE="<flags>" emerge -av <package>), ne l'utilisez pas pour installer des paquets. Tout drapeau USE défini de cette manière sera perdu lors de la mise à jour ou de la ré-émergence du paquet.
USEful commands
Pour savoir quels drapeaux USE sont actuellement activés :
user $
portageq envvar USE | xargs -n 1
Pour vérifier si un certain drapeau USE est activé et quels sont les paquets qui l'utilisent, exécuter :
user $
euse -I <use_flag> # included with app-portage/gentoolkit
user $
quse <use_flag> # included with app-portage/portage-utils
user $
eix --installed-with-use <use_flag> # included with app-portage/eix
Remplacer <use_flag>
par le drapeau USE à vérifier.
Options de commande Emerge
La commande emerge dispose de quelques options liées au drapeau USE, telles que :
--changed-use
(-U
)--complete-graph-if-new-use < y | n >
--newuse
(-N
)
Pour plus de détails, voir man 1 emerge.
"Local" vs "global" USE flags
La différence technique entre les drapeaux "locaux" et "globaux" est simplement l'endroit où leurs descriptions sont sauvegardées dans le dépôt ebuild. Les drapeaux USE "globaux" sont décrits dans les fichiers use.desc (exemple) pour un profil entier, alors que les drapeaux USE "locaux" sont décrits dans les fichiers metadata.xml (exemple), pour un seul paquet. En décidant où les définir, les développeurs déterminent si un drapeau USE a une fonction générale commune à plusieurs paquets, ou une fonction spécifique à un seul paquet.
Pour l'utilisateur final, le fait qu'un drapeau USE soit "global" ou "local" n'a que peu d'importance. Les drapeaux "Globaux" peuvent parfois être plus appropriés pour être définis dans la variable USE de make.conf, mais il n'y a pas de règle absolue. Dans tous les cas, dans la mesure du possible, aucun drapeau USE ne devrait être défini dans make.conf à moins que cela ne soit nécessaire, et le fichier /etc/portage/package.use devrait être préféré pour définir les drapeaux USE sur une base individuelle. Suivre ce conseil devrait faciliter l'administration du système à long terme.
Outils
Certains outils sont disponibles pour analyser et gérer les drapeaux USE :
- euse
- quse - for details see man 1 quse
- equery hasuse (USE flag)
- equery uses (package name)
- ufed
- app-portage/euses
- eix - See
--use
,--installed-with-use
and--installed-without-use
options
Voir aussi
- /etc/portage/package.use — permet un réglage plus fin des drapeaux USE au niveau d'un paquet individuel que ne peut le permettre la variable USE dans /etc/portage/make.conf
- Complete Handbook/Finishing off
- Gentoo Handbook documentation on USE flags
- Gentoo Java USE flags
- Toolkit USE Flags — summarizes main points from discussions about toolkit (GTK, Qt) USE flags (gtk2, gtk3, qt4, qt5, etc.).
Ressources externes
- https://packages.gentoo.org/useflags - USE flags on Gentoo Packages Database.
- cat /var/db/repos/gentoo/profiles/use.desc - The common USE flag description list can be seen locally on systems with Portage installed.
- https://devmanual.gentoo.org/general-concepts/use-flags/ - USE flags conceptually explained in the Gentoo Developer Handbook.