Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] Les USE flags de Gentoo
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
loopx
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2787
Location: Belgium / Liège

PostPosted: Tue Apr 01, 2008 3:46 pm    Post subject: [HOWTO] Les USE flags de Gentoo Reply with quote

Bonjour,

Voici un tuto permettant d'expliquer, de manière très légère, les différents USE flags que j'utilise courament.

Ca se trouve ICI : http://pix-mania.dyndns.org/web_plugin/documentation/DocumentationServlet?action=showpage&id=3

Tous vos commentaire sont les bienvenus :wink:

Si le lien est cassé, voici une copie de la doc :

Gentoo - les USE flags

Objectifs
Description non exhaustive des "flags" que l'on rencontre avec la distribution Gentoo Linux. Ceux-ci sont important à connaitre car un oubli provoque des pertes de fonctionnalités généralement inatendue par l'utilisateur final. Il est donc bon de savoir ce que permet tel ou tel flag.

Cette documentation ne se veut pas exhaustive!

Note: une bref description existe déjà dans votre installation. Utiliser cette commande pour afficher la liste présente sur votre système Linux Gentoo:

Code:
# less /usr/portage/profiles/use.desc


Chaque USE flag (ou flag tout court, peut importe le type) peut être activé ou désactivé (ajout d'un '-' collé devant le nom du flags; exemple: "-use") ou ne pas être présent du tout, ce qui aura pour effet de laisser le système choisir si il sera ou non activé par défaut.

Certain USE peuvent être activé automatiquement; si cela ne vous convient pas, vous pouvez forcer la désactivation de ceux-ci en les ajoutant et en les désactivant.

Tous les flags (USE, INPUT_DEVICES, VIDEO_CARDS, LINGUAS et autre) sont à placer dans le fichier de configuration de Gentoo Linux, à savoir : "make.conf" se trouvant sous le répertoire "/etc/".

Pour afficher votre fichier de configuration, utiliser cette commande :
Code:
$ cat /etc/make.conf



Voici un exemple de make.conf :
Code:
CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

USE="x264 tunepimp qt3support exif kipi xcb amr subtitles mplayer theora real aiglx nsplugin visualization gstreamer imlib -esd gif encode spell mikmod xmms mp3 mpeg -sdl xml png ogg unicode mad motif sndfile truetype javascript iproute2 tiff ppds qt3 qt4 scanner pdf wifi gphoto2 audiofile sensord logitech-mouse xine lm_sensors kdeenablefinal -mythtv -apache2 -apache v4l ffmpeg xvmc aac aalib asf jpeg2k xscreensaver oracle arts glitz cairo nptl nptlonly dri ipv6 -mysql jpg jpeg xprint a52 ssl socks5 mozilla ithreads threads pthreads xosd java -gnome sdk fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow X avi directfb gtk xv dts dvdread dvdr opengl alsa cdrom dvd mmx 3dnow dma udma dri xorg kde ati avi dga dio dts vorbis win32codecs xinerama dbus hal divx4linux network xvid quicktime xv samba acpi"

INPUT_DEVICES="keyboard mouse evdev"
VIDEO_CARDS="radeon"

LINGUAS="fr"


Liste et description
Quote:
3dnow : active l'utilisation des instructions 3Dnow des processeurs AMD
a52 : codec audio
aac : codec audio
aalib : librairie ASCII-Art, permet de sortir une video en caractère ASCII
acpi : active l'ACPI qui est très important pour la gestion d'énergie et apporte certaine fonctionalité à votre materiel
alsa : prise en charge de l'Advanced Linux Sound Architecture qui est l'architecture sonore à utiliser par défaut dans Linux
apic : prise en charge de APIC, très utile pour votre matériel
arts : active le serveur de son de KDE
asf : prise en charge des fichiers de type ASF
audiofile : prise en charge des fichiers audio?
dbus : active DBUS, qui permet la communication entre kernel et application (utilisé pour le montage automatique de périphérique amovible)
dri : active l'accélération graphique 3D (Direct Rendering Interface)
dts : codec audio
dvd : prise en charge du DVD
dvdread : prise en charge de la lecture DVD-VIDEO
encode : prise en charge de l'encodage (video ou audio) de certaine application
ffmpeg : activer la prise en charge de ffmpeg (utile pour les codecs audio/video)
gif : prise en charge du format GIF
gnome : prise en charge du gestionaire de bureau GNOME
gtk : prise en charge de GTK (librairie graphique de base de Linux)
hal : prise en charge de HAL (utilisé pour le montage automatique des périphériques amovibles)
ipv6 : support pour le protocole IPV6
ithreads : support pour les applications multi-threads
java : support de Java
javascript : activer la prise en charge du JavaScript
jpg : prise en charge des images JPG
jpeg : images JPEG
jpeg2k : image JPEG2K
kde : prise en charge du gestionaire de bureau KDE
kdeenablefinal : permet, lors de la compilation, un gain de temps (contre une forte augmentation de la consomation de mémoire vive)
mmx : prise en charge des instructions MMX (présentes actuellement sur tous processeurs depuis des années)
mp3 : prise en charge du format MP3
mpeg : prise en charge du format MPEG
mplayer : activer prise en charge de mplayer (qui est un lecteur multimedia très connu)
nsplugin : active une série de plugin intéressant (pour les navigateurs Web tel que firefox)
ogg : prise en charge des fichiers OGG (audio)
opengl : activation de l'interface 3D OpenGL (interface 3D principal de Linux)
pdf : prise en charge des fichiers PDF (Portable Document Format)
png : prise en charge des images PNG
ppds : utilisé si vous avez une imprimante: ajoutes des fichiers permettant une meilleur configuration
pthreads : support pour les applications multi-threads
qt3 : support de la librairie QT 3 de KDE (nécessaire si vous utilisé KDE)
qt3support : activer QT3, librairie de KDE 3.X
qt4 : active QT 4, la librairie de KDE 4 multi-plateforme
quicktime : prise en charge des fichiers "quicktime movie"
real : format audio/video real (sous windows, il faut realplayer)
samba : prise en charge de SAMBA, les partages de fichiers de Windows
sndfile : prise en charge des fichiers son
sse : activer l'utilisation des instructions SSE (disponible sur tout les processeurs récents)
sse2 : instruction SSE2 (disponible généralement sur les processeurs INTEL)
threads : prise en charge des applications multi-threads
tiff : prise en charge des images TIFF
truetype : prise en charge des polices améliorées "TrueType"
unicode : activation de l'UNICODE (maintenant, c'est à activer obligatoirement!)
visualization : librairie permettant le rendu en 3D de la bande sonnore sur certain lecteur (amarok par exemple)
vorbis : codec audio (OGG)
wifi : active certaines fonctionnalités pour les cartes WIFI
win32codecs : prise en charge des fichiers AVI (format fichier video Windows)
x264 : prise en charge du format HD (High Definition)
xine : prise en charge du moteur de XINE (ce qui est un très bon choix!)
xinerama : utilisé par le serveur X, permet la prise en charge multi-écran (2 ou bien plus)
xosd : utilisé par le serveur X, permet l'affichage des informations sur l'écran (On Screen Display)
xscreensaver : prise en charge des écrans de veille du serveur X
xv : activer le pilote de sortie video XV (très utile!)
xvid : prise en charge des video au format XVID
X : activer l'utilisation du serveur X



Trucs et astuces
Il est possible de demander au système d'afficher la description d'un USE flag sans devoir aller voir dans le fichier "use.desc" vous même; utilier cette commande pour avoir une brève description :
Code:
$ euse -i USE_FLAG




Vous pouvez aussi demander, à cette commande, l'activation ou la désactivation d'un USE flag :
Code:
# euse -E USE_FLAG
# -D USE_FLAG




Voici un exemple :
Code:
loopx@loop ~ $ euse -i mmx
global use flags (searching: mmx)
************************************************************
[+ C  ] mmx - Adds support for optimizations for Pentium MMX and Athlon class processors

local use flags (searching: mmx)
************************************************************
no matching entries found
loopx@loop ~ $ euse -D mmx
ERROR: /etc/make.conf is not writable
loopx@loop ~ $ su
Mot de passe :
loop loopx # euse -D mmx
/etc/make.conf was modified, a backup copy has been placed at /etc/make.conf.euse_backup
loop loopx # euse -E mmx
/etc/make.conf was modified, a backup copy has been placed at /etc/make.conf.euse_backup

Dans l'exemple précédent, on constate que le fichier "make.conf" à été sauvegardé et qu'il est nécessaire d'être super utilisateur pour pouvoir activer/désactiver un USE flag. En regardant le "make.conf" modifié, on constate qu'il y a eu un certain "ménage" dans les USE flags; ceux-ci sont automatiquement écrit sur plusieurs ligne ce qui peut faciliter la lecture.


L'outil "equery" présent dans le package "gentoolit" peut s'avérer, lui aussi, très intéressant. Il permet d'afficher les USE flags activé pour un packet donné; on peut aussi s'appercevoir si un packet demandera recompilation ou non (si un USE à été changé et que le packet installé n'a pas encore pris en compte ce changement ... il doit dès lors être recompilé). Cet outil permet donc l'affichage des USE flags du packet installé et aussi, les USE flags actuellement configuré pour le système.

Code:
equery uses PAQUET



Voici un exemple d'utilisation :
Code:
loopx@loop ~ $ equery uses ffmpeg
[ Searching for packages matching ffmpeg... ]
[ Colour Code : set unset ]
[ Legend : Left column  (U) - USE flags from make.conf              ]
[        : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for media-video/ffmpeg-0.4.9_p20070616-r2 ]
 U I
 + + X        : Adds support for X11
 + + a52      : Enables support for decoding ATSC A/52 streams used in DVD
 + + aac      : Enables support for MPEG-4 AAC Audio
 - - altivec  : Adds support for optimizations for G4 and G5/ppc970 processors
 + + amr      : Enables Adaptive Multi-Rate Audio support
 - - debug    : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml
 - - doc      : Adds extra documentation (API, Javadoc, etc)
 + + encode   : Adds support for encoding of audio or video files
 - - ieee1394 : Enable FireWire/iLink IEEE1394 support (dv, camera, ...)
 + + imlib    : Adds support for imlib, an image loading and rendering library
 + + ipv6     : Adds support for IP version 6
 + + mmx      : Adds support for optimizations for Pentium MMX and Athlon class processors
 + + network  : Enables network streaming support
 + + ogg      : Adds support for the Ogg container format (commonly used by Vorbis, Theora and flac)
 - - oss      : Adds support for OSS (Open Sound System)
 - - sdl      : Adds support for Simple Direct Layer (media library)
 - - test     : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore
 + + theora   : Adds support for the Theora Video Compression Codec
 + + threads  : Adds threads support for various packages. Usually pthreads
 + + truetype : Adds support for FreeType and/or FreeType2 fonts
 + + v4l      : Enables video4linux support
 + + vorbis   : Adds support for the OggVorbis audio codec
 + + x264     : Enable h264 encoding using x264
 + + xvid     : Adds support for xvid.org's open-source mpeg-4 codec
 + + zlib     : Adds support for zlib (de)compression
Dans l'exemple précédent, remarquer les deux colonnes nomées respectivement U et I :
- U : ce sont les USE flags actuellement configuré dans le système (voir make.conf)
- I : les flags du paquet actuellement installé sur le système


Si je modifie le fichier de configuration de Gentoo (make.conf) et que je désactive le USE flag "X" (-X), alors, la première colonne affichera un "-" alors que la deuxième affichera toujours un "+" vu que le paquet n'a pas encore été recompilé.

Un petit script, trouvé sur le forum Gentoo (auteur: bemis) permet d'afficher les USE flags à activer selon votre processeur (très intéressant) :
Code:
#!/bin/bash
# pull in /etc/make.conf for system portdir variable
source /etc/make.conf

# make use of PORTDIR for portage-profile location
if [[ ! $PORTDIR ]]
 then PORTDIR="/usr/portage"
fi

# dump output through uniq for SMP systems
CPUFLAGS=($(grep flags /proc/cpuinfo | uniq))

# shove all of the output into an array for sorting
USEFLAGS=$(
# walk through our array checking global and local flags
for flag in ${CPUFLAGS[@]:2}
 do
  grep -h "^$flag " $PORTDIR/profiles/use.desc
  grep -h ":$flag " $PORTDIR/profiles/use.local.desc
done)
echo -e "Global Flags: "
echo "$USEFLAGS" | grep -v "/"
echo -e "Local Flags (port:flag - description):"
echo "$USEFLAGS" | grep "/"


Voici un exemple d'utilisation :
Code:
loopx@loop ~ $ sh check-use-cpu.sh
Global Flags:
mmx - Adds support for optimizations for Pentium MMX and Athlon class processors
sse - fast floating point optimization for PentiumIII+ class chips
3dnow - Adds support for 3dnow multimedia processor instructions
Local Flags (port:flag - description):
app-emulation/xen:pae - Enable support for PAE kernels (usually x86-32 with >4GB memory)
media-plugins/vdr-softdevice:mmxext - enables mmx2 support
media-video/dxr3player:mmxext - Enables mmxext instructions
media-video/mplayer:mmxext - Enables mmx2 support
media-sound/mpg123:3dnowext - Enable 3dnowext cpu instructions
media-video/dxr3player:3dnowext - Enable 3dnowext cpu instructions
media-video/mplayer:3dnowext - Enable 3dnowext cpu instructions


--
ndm : Un peu de mise en page pour rendre le tuto plus lisible et suppression des lignes obligeant à "scroller" en haut de la page.
_________________
Mon MediaWiki perso : http://pix-mania.dyndns.org


Last edited by loopx on Thu Apr 10, 2008 5:55 pm; edited 1 time in total
Back to top
View user's profile Send private message
swilmet
n00b
n00b


Joined: 14 Mar 2007
Posts: 70
Location: Belgium

PostPosted: Tue Apr 01, 2008 5:39 pm    Post subject: Reply with quote

Très chouette initiative, les descriptions fournies ne sont parfois pas suffisantes, et quand on débute c'est pas évident.

Tu devrais peut-être préciser comment savoir si on a besoin de mmx, sse, sse2, ... (cat /proc/cpuinfo).

Et aussi parler de euse et de equery, qui est plus pratique que lire le fichier use.desc :
Code:
euse -i <useflag>
equery uses <ebuild>
Back to top
View user's profile Send private message
loopx
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2787
Location: Belgium / Liège

PostPosted: Tue Apr 01, 2008 5:52 pm    Post subject: Reply with quote

Très juste, je ferais ca.

A la base, j'ai terminé cette doc tantot, mais c'est du "vite fait" qui doit encore être amélioré ...



Enfin, la je vais me reconsacré au developpement de la plateforme Web parce que il y a quelques problèmes assez grave ... Je continuerais la doc plus tard :wink:


EDIT: euse :o tu m'apprend un truc la 8)


merci :)
_________________
Mon MediaWiki perso : http://pix-mania.dyndns.org
Back to top
View user's profile Send private message
Mickael
Advocate
Advocate


Joined: 05 Sep 2005
Posts: 2383
Location: ~Belfort! - France - EU

PostPosted: Wed Apr 02, 2008 6:29 am    Post subject: Reply with quote

Et le script de KillerWhile, Check_flags :
Code:
#!/bin/bash
for i in `grep flags /proc/cpuinfo | head -n 1 | cut -d":" -f2 | sed "s/dts//"`
do
    euse -i -g $i | grep -v searching | grep $i
done

_________________
À LIRE : COMMENT POSTER ET OBTENIR DE L'AIDE ?
Qui suis-je ? Bon j'ai relu, comme d'habitude, je suis bon a rien le vendredi
Qui suis-je ? Je ne serai jamais modo
Back to top
View user's profile Send private message
loopx
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2787
Location: Belgium / Liège

PostPosted: Tue Apr 08, 2008 1:45 am    Post subject: Reply with quote

Voilà, c'est mis à jour :)
_________________
Mon MediaWiki perso : http://pix-mania.dyndns.org
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2869
Location: Grenoble, France

PostPosted: Fri Apr 11, 2008 10:51 am    Post subject: Reply with quote

Sans vouloir faire la self-promotion, j'avais aussi écrit un article là dessus qui recouvre ce que tu dis, qui en oublie certaine chose et peut etre en dis autre chose :
http://forums.gentoo.org/viewtopic-t-428121.html

Il existe aussi sur le wiki Gentoo Fr
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1888
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Sat Apr 12, 2008 3:15 pm    Post subject: Reply with quote

Là je dois dire, je suis assez estomaqué.

Suite à la discussion que nous avons eu il y a quelques jours, et probablement aux discussions que tu as eu avec d'autres que moi depuis, tu t'es enfin décidé à recopier ici les documentations issues de tes efforts. Merci à toi.

Par contre, si c'était pour procéder de cette manière, je crois qu'en fait tu avais totalement raison : il valait mieux les laisser chez toi, ces docs. L'effort de mise à disposition de tes docs est pour l'instant comparable à celui nécessaire au coulage d'un bronze. En tous le cas le résultat s'y apparente : c'est très compact, peu engageant, ça manque de couleur et finalement on a aucune envie de voir précisemment de quoi il retourne.

De plus, si j'ai bien compris le principe des 3 posts qui précèdent celui que je suis en train de rédiger, tu as décidé de ne pas mettre à jour cette doc, mais uniquement de la poser là pour "faire plaisir" et avoir la paix (la preuve : cette doc n'est pas à jour malgré le commentaire ci-dessus). C'est assez en accord avec ta signature, qui, pardonne-moi, est d'un mauvais goût tout à fait déplacé ici : si ce forum n'est pas digne de recevoir ta prose, n'hésite pas : fait le ménage, ouvre un sujet dans chroniques de geeks, et fais-toi de la pub gratuite pour ton petit chez toi ! Assume ! Tu veux tout héberger à domicile, et rien-à-foutre-la-disponibilité, fais-le ! Et si ton frère se prend les pieds dans le tapis, qu'EDF te coupe le jus pendant que tu te trempe dans l'océan. Quand ta plate-forme web se viande, idem ! etc...

Alors voilà, moi je l'assume : cette attitude me choque, ta signature également, et franchement, rien de tout ça n'est digne de l'esprit commautaire qui devrait présider à un travail de ce type.

A bon entendeur...
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
loopx
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2787
Location: Belgium / Liège

PostPosted: Sun Apr 13, 2008 3:16 pm    Post subject: Reply with quote

anigel wrote:
Là je dois dire, je suis assez estomaqué.

Suite à la discussion que nous avons eu il y a quelques jours, et probablement aux discussions que tu as eu avec d'autres que moi depuis, tu t'es enfin décidé à recopier ici les documentations issues de tes efforts. Merci à toi.

Par contre, si c'était pour procéder de cette manière, je crois qu'en fait tu avais totalement raison : il valait mieux les laisser chez toi, ces docs. L'effort de mise à disposition de tes docs est pour l'instant comparable à celui nécessaire au coulage d'un bronze. En tous le cas le résultat s'y apparente : c'est très compact, peu engageant, ça manque de couleur et finalement on a aucune envie de voir précisemment de quoi il retourne.

De plus, si j'ai bien compris le principe des 3 posts qui précèdent celui que je suis en train de rédiger, tu as décidé de ne pas mettre à jour cette doc, mais uniquement de la poser là pour "faire plaisir" et avoir la paix (la preuve : cette doc n'est pas à jour malgré le commentaire ci-dessus). C'est assez en accord avec ta signature, qui, pardonne-moi, est d'un mauvais goût tout à fait déplacé ici : si ce forum n'est pas digne de recevoir ta prose, n'hésite pas : fait le ménage, ouvre un sujet dans chroniques de geeks, et fais-toi de la pub gratuite pour ton petit chez toi ! Assume ! Tu veux tout héberger à domicile, et rien-à-foutre-la-disponibilité, fais-le ! Et si ton frère se prend les pieds dans le tapis, qu'EDF te coupe le jus pendant que tu te trempe dans l'océan. Quand ta plate-forme web se viande, idem ! etc...

Alors voilà, moi je l'assume : cette attitude me choque, ta signature également, et franchement, rien de tout ça n'est digne de l'esprit commautaire qui devrait présider à un travail de ce type.

A bon entendeur...


Merci :)


j'ai lu le début, je ne lirais pas la suite ... Moi j'en connais déjà 1, un couleur de bronze :wink:
Tu sais, rien ne t'oblige à la lire ma doc ... et surtout, rien ne te force à la pourrir un peu plus :lol:

EDIT: c'est bon, y a plus de "chef des travaux fini" qui veut me mordre les fesses ?
_________________
Mon MediaWiki perso : http://pix-mania.dyndns.org
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4916

PostPosted: Sun Apr 13, 2008 5:32 pm    Post subject: Reply with quote

loopx wrote:

EDIT: c'est bon, y a plus de "chef des travaux fini" qui veut me mordre les fesses ?

Ah ouais mais nan ^^
En postant un travail perso publiquement tu t'exposes de fait au critiques, et implicitement tu es censés les accepter ou du moins accepter qu'elles existent. (Pas obligés dans tenir compte bien sûr)
Faut surtout pas qu'elles te vexe, mais faut essayer de comprendre pourquoi elles existent. Et là en l'occurrence je les trouve assez constructives.
_________________
membre officieux du SAV Ati GEntoo
Back to top
View user's profile Send private message
loopx
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2787
Location: Belgium / Liège

PostPosted: Sun Apr 13, 2008 6:00 pm    Post subject: Reply with quote

kwenspc wrote:
loopx wrote:

EDIT: c'est bon, y a plus de "chef des travaux fini" qui veut me mordre les fesses ?

Ah ouais mais nan ^^
En postant un travail perso publiquement tu t'exposes de fait au critiques, et implicitement tu es censés les accepter ou du moins accepter qu'elles existent. (Pas obligés dans tenir compte bien sûr)
Faut surtout pas qu'elles te vexe, mais faut essayer de comprendre pourquoi elles existent. Et là en l'occurrence je les trouve assez constructives.



Y a aucun problème, je sais qu'elles existent et tout et tout... mais faudrait pas que le monde s'écroule sous les principes... et que les principes de certain mettent à bous les idées des autres (qui sont, sauf abu de ma part, des idées respectables!).

Maintenant, la pièce est faite pour être mise sur un trou ^^ donc voilà, mais je perd un peu patience à force d'être critiquer moulte fois pour la même chose (qui est d'importance mineur, le principal étant d'apporter une aide ... fiable ou non à 100% !).


Je précise d'avance que je n'ai pas envie de re-entrer en discussion inutile pour ma dernière phrase :wink:

je :arrow: []


EDIT: je précise que ma doc est, actuellement, mise à jour sur le forum (et non, je viens pas de le faire à l'instant)
_________________
Mon MediaWiki perso : http://pix-mania.dyndns.org
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum