[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
5. Diverger de l'arbre officiel
Table des matières :
5.a. Utiliser un sous-ensemble de l'arbre Portage
Exclure des paquets ou des catégories
Vous pouvez mettre certains paquets ou certaines catégories à jour et en
ignorer d'autres. Portage fait exclure ces catégories ou paquets par la
commande rsync qu'il utilise pour l'action emerge --sync.
Dans /etc/make.conf, la variable PORTAGE_RSYNC_EXTRA_OPTS
doit définir le nom du fichier qui contient les filtres d'exclusion.
Exemple de code 1 : Définir le fichier qui contient les filtres d'exclusion dans /etc/make.conf |
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
|
Exemple de code 2 : Exclure tous les jeux dans /etc/portage/rsync_excludes |
games-*/*
|
Veuillez remarquer que cela peut causer des problèmes dans la gestion des
dépendances puisque de nouveaux paquets pourraient dépendre de paquets que vous
avez exclus.
5.b. Ajouter des ebuilds non officiels
Définir un répertoire superposé
Portage peut utiliser des ebuilds qui ne se trouvent pas dans l'arbre Portage
de Gentoo. Pour cela, créez un répertoire, par exemple
/usr/local/portage, dans lequel vous pourrez copier des ebuilds
d'origines diverses. Vous devrez utiliser la même structure que pour l'arbre
officiel.
Ensuite, définissez la variable PORTDIR_OVERLAY dans le fichier
/etc/make.conf et attribuez-lui le nom du répertoire que vous avez
créé. Portage utilisera alors les ebuilds qui se trouvent dans ce répertoire,
mais ne les modifiera pas lors de l'opération de synchronisation emerge
--sync.
Utiliser plusieurs sur-couches
Les utilisateurs avancés ont parfois besoin de conserver plusieurs répertoires
superposés, par exemple pour des ebuilds en test ou des arbres d'origines
diverses. Le paquet app-portage/gentoolkit-dev contient l'outil
gensync qui permet de maintenir ces répertoires à jour.
L'outil gensync permet de mettre tous les répertoires superposés à jour
en une seule opération. À chaque répertoire doit correrspondre un fichier
.syncsource dans le répertoire /etc/gensync/ qui
contient son nom, son emplacement, son identifiant, etc.
Supposons que vous avez deux répertoires superposés appelés java (pour
vos développements d'ebuils java) et entapps (pour les ebuilds utilisés
dans votre entreprise). Vous pouvez mettre vos répertoires à jour avec la
commande suivante :
Exemple de code 3 : Mettre vos répertoires Portage superposés à jour avec gensync |
# gensync java entapps
|
5.c. Paquets gérés hors de Portage
Utiliser Portage avec des paquets gérés manuellement
Dans certains cas, vous voudrez peut-être configurer, installer et maintenir
des paquets vous-même sans que Portage ne s'en mêle même si le paquet est
disponible dans l'arbre Portage. Des cas typiques sont le noyau et les pilotes
nvidia. Vous pouvez configurer Portage pour qu'il sache que certains paquets
ont été installés manuellement. On appelle cela « injecter un
paquet » et cela se fait grâce au fichier
/etc/portage/profile/package.provided.
Par exemple, pour informer Portage que vous avez installé le noyau
gentoo-sources-2.6.11.6 manuellement, ajoutez la ligne
suivante au fichier /etc/portage/profile/package.provided :
Exemple de code 4 : Une ligne dans package.provided |
sys-kernel/gentoo-sources-2.6.11.6
|
[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|