OldGentooWiki:Make.conf
De Gentoo-Quebec.
Index des trucs et astuces avancés
Introduction
Ce document a pour objectif de vous présenter chacune des variables avec une brève description de ces dernières et leur usage.
Qu'est-ce que le fichier /etc/make.conf ?
Le fichier de configuration make.conf (/etc/make.conf) contient des variables utilisées par Portage lors de la compilation du système et des paquets. Ce fichier contient généralement ces variables :
- ACCEPT_KEYWORDS
- CHOST
- CFLAGS
- MAKEOPTS
- USE
- FEATURES
- CCACHE
- LINGUAS
- INPUT_DEVICES
- VIDEO_CARDS
- GENTOO_MIRRORS
- SYNC
Vous pouvez bien sûr trouver beaucoup d'information sur le fichier make.conf dans le manuel. Il suffit de lancer la commande man make.conf dans un terminal.
Variables
Veuillez trouver ci-dessous une description des variables et leur usage.
ACCEPT_CHOSTS
ACCEPT_KEYWORDS
Cette variable vous permet de préciser si vous désirez installer un système entièrement testing, c'est à dire unstable. Si vous n'utilisez pas cette variable, le système sera stable et vous devrez configurer le fichier /etc/portage/package.keywords pour installer une version testing d'un logiciel particulier.
ACCEPT_KEYWORDS="~x86"
L'exemple est adapté pour l'architecture 32 bits. Pour une architecture 64 bits, remplacez ~x86 par ~amd64.
ACCEPT_LICENSE
Cette variable permet de contrôler l'installation de logiciels par licence. Supposons que vous souhaitez installer un logiciel distribué sous la licence PUEL. C'est le cas entre autre pour VirtualBox, mouture propriétaire (virtualbox-bin)
These are the packages that would be merged, in order: Calculating dependencies ... done! !!! All ebuilds that could satisfy "app-emulation/virtualbox-bin" have been masked. !!! One of the following masked packages is required to complete your request: - app-emulation/virtualbox-bin-3.0.8 (masked by: PUEL license(s)) A copy of the 'PUEL' license is located at '/usr/portage/licenses/PUEL'. - app-emulation/virtualbox-bin-3.0.6-r1 (masked by: PUEL license(s)) - app-emulation/virtualbox-bin-3.0.6 (masked by: PUEL license(s)) - app-emulation/virtualbox-bin-1.6.6 (masked by: PUEL license(s)) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
La commande emerge pour installer virtualbox-bin ne peut être satisfaite car le paquet est sous licence PUEL. Pour remédier à cette situation, il faut alors anjouter la licence à la variable ACCEPT_LICENSE. Éditez le fichier /etc/make.conf et ajoutez cette ligne.
ACCEPT_LICENSE="PUEL"
Vous avez le loisir d'ajouter autant de licences qu'il est nécessaire. En reprenant l'exemple pour l'installation de virtualbox-bin après modification du fichier /etc/make.conf, il sera alors possible d'installer ce logiciel.
# emerge -pv virtualbox-bin These are the packages that would be merged, in order: Calculating dependencies ... done! [ebuild U ] app-emulation/virtualbox-modules-3.0.8 [3.0.2] 712 kB [ebuild I U ] app-emulation/virtualbox-bin-3.0.8 [3.0.2] USE="additions chm -headless -sdk -vboxwebsrv" 49,130 kB Total: 2 packages (2 upgrades, 1 interactive), Size of downloads: 49,842 kB
APACHE2_MODULES
ALSA_CARDS
BUILD_PREFIX
La variable BUILD_PREFIX est à redéfinir que si vous avez modifié la variable PORTAGE_TMPDIR. Portage crée un répertoire de compilation pour chaque paquet dans le répertoire /var/tmp/portage par défault. La variable BUILD_PREFIX permet de définir un autre emplacement.
| Exemple BUILD_PREFIX |
|---|
| BUILD_PREFIX="/var/temporaire/compilation" |
CBUILD
CCACHE_DIR
Le réprtoire par défault de cccahe est /var/tmp/ccache
la variable CCACHE_DIR permet de définir un autre répertoire .
| Exemple CCACHE_DIR |
|---|
| CCACHE_DIR="/var/tmp/ccache" |
CCACHE_SIZE
la variable CCACHE_DIR permet de définir la taille du cache de l'utilitaire ccache.
| Exemple CCACHE_DIR |
|---|
| CCACHE_SIZE="2G" |
CFLAGS CXXFLAGS
CHOST
CLEAN_DELAY
COLLISION_IGNORE
CONFIG_PROTECT
CONFIG_PROTECT_MASK
CTARGET
DISTDIR
la variable DISTDIR permet de définir l'emplacement des codes sources qui par défault est /usr/portage/distfiles
| Exemple DISTDIR |
|---|
| DISTIR="${PORTDIR}/distfiles" |
DOC_SYMLINKS_DIR
EBEEP_IGNORE
EMERGE_DEFAULT_OPTS
EPAUSE_IGNORE
EXTRA_ECONF
FEATURES
La variable FEATURES permet d'activer ou désactiver certaines fonctionnalités.
| Exemple activation de CCACHE |
|---|
| FEATURES="ccache" |
Pour voir les fonctionnalités actives sur votre système:
FETCHCOMMAND
GENTOO_MIRRORS
La variable GENTOO_MIRRORS permet de définir l'adresse du serveur contenant les archives.
| Exemple GENTOO_MIRRORS |
|---|
| GENTOO_MIRRORS=http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ |
Vous pouvez choisir un serveur ou plusieurs serveurs:
- En consultant cette liste
- En utilisant la commande mirrorselect
Le ou les serveurs selectionnés seront directement rajoutés dans le fichier make.conf.
INSTALL_MASK
LCD_DEVICES
MAKEOPTS
Cette variable permet de définir le nombre de compilations à lancer en parallèle. La valeur souvent utilisée est le nombre de processeurs dans votre système plus un, mais une autre valeur peut parfois mieux fonctionner.
| Variable MAKEOPTS |
|---|
| MAKEOPTS="-j2" |
NOCOLOR
Portage utilise la coloration syntaxique, la variable NOCOLOR étant par défault "false".
Donc si vous désirez un affichage sans colorisation, il faut le préciser:
| Affiche de portage sans colorisation |
|---|
| NOCOLOR="true" |
PKGDIR
PORT_LOGDIR
PORTAGE_BINHOST
PORTAGE_BINHOST_HEADER_URI
PORTAGE_BINPKG_TAR_OPTS
PORTAGE_COMPRESS_FLAGS
PORTAGE_COMPRESS_EXCLUDE_SUFFIXES
PORTAGE_ELOG_CLASSES
PORTAGE_ELOG_SYSTEM
PORTAGE_ELOG_COMMAND
PORTAGE_ELOG_MAILURI
PORTAGE_ELOG_MAILFROM
PORTAGE_ELOG_MAILSUBJECT
PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS
PORTAGE_FETCH_RESUME_MIN_SIZE
PORTAGE_GPG_DIR
PORTAGE_GPG_KEY
PORTAGE_IONICE_COMMAND
PORTAGE_NICENESS
La variable PORTAGE_NICENESS definit la priorité de portage par rapport aux autres processus en lui indiquant une valeur.
Une valeur négative rend le processus de compilation de portage plus prioritaire.
Une valeur positive rend le processus de compilation de portage moins prioritaire.
| Exemple PORTAGE_NICENESS |
|---|
| PORTAGE_NICENESS="-3" |
C'est à vous à définir cette valeur suivant la capacité de votre matériel et de votre environement de travail.
PORTAGE_RO_DISTDIRS
PORTAGE_RSYNC_INITIAL_TIMEOUT
PORTAGE_RSYNC_EXTRA_OPTS
PORTAGE_RSYNC_OPTS
PORTAGE_RSYNC_RETRIES
Si des erreurs de connexions surviennent, la variable PORTAGE_RSYNC_RETRIES indique le nombre de tentatives maximum avec le miroir défini par la variable SYNC.
| Exemple PORTAGE_RSYNC_RETRIES |
|---|
| PORTAGE_RSYNC_RETRIES="3" |
PORTAGE_TMPDIR
Portage sauve ses fichiers temporaires dans /var/tmp par défaut
La variable PORTAGE_TMPDIR permet de définir un autre emplacement où seront stockés les fichiers temporaires de la compilation.
| Exemple PORTAGE_TMPDIR |
|---|
| PORTAGE_TMPDIR="/var/temporaire" |
Si vous redéfinissez la variable PORTAGE_TMPDIR, vous devriez aussi redéfinir BUILD_PREFIX, car elle ne tient pas compte du changement automatiquement.
PORTAGE_WORKDIR_MODE
PORTDIR
Par défault l'arbre de portage se trouve dans /usr/portage.
La variable PORTDIR permet de définir un autre emplacement
| Exemple PORTDIR |
|---|
| PORTDIR="/home/nom_utilisateur/portage" |
Il ne faut pas, dans ce cas, oublier de rediriger le lien symbolique /etc/make.profile.
PORTDIR_OVERLAY
La variable PORTDIR_OVERLAY permet de définir l'emplacement des ebuilds qui ne font pas partie de l’arbre portage officiel
| Exemple PORTDIR_OVERLAY |
|---|
| PORTDIR_OVERLAY="/usr/local/portage/mon-overlay/" |
Pour la mise en place d'overlay par layman, consulter la page: Overlay
QA_STRICT_EXECSTACK
QA_STRICT_WX_LOAD
QA_STRICT_TEXTRELS
QA_STRICT_DT_HASH
QA_STRICT_PRESTRIPPED
RESUMECOMMAND
ROOT
Par défaut, Portage installe tous les fichiers sur le système de fichiers courant (/), mais il peut copier les fichiers ailleurs.
La variable ROOT permet de définir un autre endroit
| Exemple ROOT |
|---|
| ROOT="/imagesyteme/" |
RPMDIR
SYNC
La variable SYNC permet de préciser l'adresse de serveur rsync qui contient l'arbre de portage.
Cette adresse est utilisé lors de la synchonisation de l'arbre avec la commande emerge --sync.
Elle est definie suivant votre localisation.
| Exemple pour le canada | Exemple pour la france |
|---|---|
| SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" | SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" |
Vous pouvez choisir un miroir:
- En consultant la liste des serveurs officiels rsync
- En utilisant la commande mirrorselect
Le miroir selectionné sera directement rajouté dans le fichier make.conf.
USE
USE_EXPAND
USE_EXPAND_HIDDEN
USE_ORDER
VIDEO_CARDS
la variable VIDEO_CARDS permet de définir les pilotes graphiques que vous comptez utiliser.
| Exemple carte graphique NVIDIA propriétaire | Exemple carte graphique NVIDIA générique | |
|---|---|---|
| VIDEO_CARDS="nvidia" | VIDEO_CARDS="nv" |

