OldGentooWiki:Make.conf

De Gentoo-Quebec.

(Redirigé depuis Make.conf)

Go-previous.png Index des trucs et astuces avancés


Gentoo-quebec+Funtoo-quebec.png

Le fichier de configuration make.conf


Sommaire

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


Info 64.png
Information !
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.

Exemple :

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)

Licence bloquant l'installation

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.

Initialisation de ACCEPT_LICENSE

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.

Installation après acceptation de la licence

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

Gnome-dev-computer.png
# emerge --info | grep FEATURES

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 utilisant la commande mirrorselect
Gnome-dev-computer.png
# emerge -av mirrorselect
Gnome-dev-computer.png
# mirrorselect -i

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 utilisant la commande mirrorselect
Gnome-dev-computer.png
# emerge -av mirrorselect
Gnome-dev-computer.png
# mirrorselect -i -r

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"
Outils personnels