View previous topic :: View next topic |
Author |
Message |
loopx Advocate
Joined: 01 Apr 2005 Posts: 2787 Location: Belgium / Liège
|
Posted: Tue Apr 01, 2008 3:46 pm Post subject: [HOWTO] Les USE flags de Gentoo |
|
|
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
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 :
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.
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 |
|
|
swilmet n00b
Joined: 14 Mar 2007 Posts: 70 Location: Belgium
|
Posted: Tue Apr 01, 2008 5:39 pm Post subject: |
|
|
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 |
|
|
loopx Advocate
Joined: 01 Apr 2005 Posts: 2787 Location: Belgium / Liège
|
Posted: Tue Apr 01, 2008 5:52 pm Post subject: |
|
|
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
EDIT: euse tu m'apprend un truc la
merci _________________ Mon MediaWiki perso : http://pix-mania.dyndns.org |
|
Back to top |
|
|
Mickael Advocate
Joined: 05 Sep 2005 Posts: 2387 Location: ~Belfort! - France - EU
|
Posted: Wed Apr 02, 2008 6:29 am Post subject: |
|
|
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 |
|
|
loopx Advocate
Joined: 01 Apr 2005 Posts: 2787 Location: Belgium / Liège
|
Posted: Tue Apr 08, 2008 1:45 am Post subject: |
|
|
Voilà, c'est mis à jour _________________ Mon MediaWiki perso : http://pix-mania.dyndns.org |
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Fri Apr 11, 2008 10:51 am Post subject: |
|
|
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 :
https://forums.gentoo.org/viewtopic-t-428121.html
Il existe aussi sur le wiki Gentoo Fr |
|
Back to top |
|
|
anigel Bodhisattva
Joined: 14 Apr 2003 Posts: 1894 Location: Un petit bled pas loin de Limoges ;-)
|
Posted: Sat Apr 12, 2008 3:15 pm Post subject: |
|
|
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 |
|
|
loopx Advocate
Joined: 01 Apr 2005 Posts: 2787 Location: Belgium / Liège
|
Posted: Sun Apr 13, 2008 3:16 pm Post subject: |
|
|
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
Tu sais, rien ne t'oblige à la lire ma doc ... et surtout, rien ne te force à la pourrir un peu plus
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 |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Sun Apr 13, 2008 5:32 pm Post subject: |
|
|
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 |
|
|
loopx Advocate
Joined: 01 Apr 2005 Posts: 2787 Location: Belgium / Liège
|
Posted: Sun Apr 13, 2008 6:00 pm Post subject: |
|
|
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
je []
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 |
|
|
|
|
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
|
|