Ebuild repository/fr

Un arbre alternatif (parfois appelé surcouche) est un dépôt additionnel que Portage prend en compte lorsqu'il s'occupe des logiciels.

Within Gentoo Linux, users already have one "main" package repository, called the Portage Tree. This main repository contains all the software packages (called ebuilds) maintained by Gentoo developers. But users can add additional repositories to the tree that are "layed over" the main tree - hence the name, overlays.

Comme les dépôts de paquets ne sont rien de plus (ou de moins) que des jeux de fichiers (ebuilds, fichiers de méta-données, entrées de journaux de modifications, etc...), ces dépôts peuvent être tirés de dépôts publics (git, cvs, svn...) ou téléchargés en tant qu'archives tar et désarchivés à la main sur le système. Il est cependant recommandé d'utiliser des dépôts gérés par des tiers  de confiance car tout arbre alternatif installé sera analysé par Portage au moment de décider quel logiciel installer.

Traitement des arbres alternatifs
Portage utilise la variable   pour établir un lien avec les arbres alternatifs installés sur le système. Cette variable utilise une liste de chemins sur le système, séparés par une espace, où Portage peut trouver la racine de ces dépôts additionnels.

Définir l'emplacement des arbres alternatifs à la main
To make a personal overlay, create a location ( for example) in which the packages Portage is to look for are located. Then add the  variable to the  file containing the path to the location of the custom overlay.

An example of an overlay being located in the a user's home directory:

Add user to Portage group
To add a user to the portage group, use the gpasswd command like so:

See also adding a user to a group.

Utilisation de crossdev
crossdev placera automatiquement les ebuilds/catégories qu'il génère dans le premier arbre alternatif trouvé dans. Vous voudrez peut-être empêcher crossdev de perturber les arbres alternatifs de layman ou votre arbre alternatif personnel par machine (créé normalement dans ). Vous pouvez créer un arbre alternatif spécifiquement réservé à crossdev:

Vous pouvez ensuite demander à Portage et à crossdev d'utiliser cet arbre alternatif :

Utilisation de layman
Pour faciliter la gestions d'arbres alternatifs multiples, un outil appelé layman a été développé. Cet outil est informé des arbres alternatifs populaires gérés par des utilisateurs et des développeurs et est capable de les installer et de les synchroniser tout autant que de les ajouter aux emplacements déclarés dans.

Arbre alternatif local
Pour savoir comment mettre en place et configurer un arbre alternatif local, reportez-vous à Overlay/Local_overlay.

Priorités des arbres alternatifs
Chacun des arbres alternatifs dispose d'une priorité unique. Ceci fait que, dans le cas où une version spécifique serait trouvée dans plusieurs arbres alternatifs, la résolutions est non ambigüe. Les ebuilds des arbres alternatifs à la plus haute priorité sont prioritaires par rapport à ceux trouvés dans des arbres de priorité moindre.

La commande suivante fournit la liste des arbres alternatifs avec leur priorité :

Sauf si la variable   a été modifiée de la manière décrite plus bas, l'arbre de Portage par défaut a une priorité de  -1000. Ceci signifie que tous les autres arbres alternatifs sont prioritaires par rapport à lui. Il s'agit du comportement par défaut, parce que les arbres alternatifs sont conçus, pour se situer au dessus de l'arbre de Portage.

Définir la priorité des arbres alternatifs
La priorité des arbres alternatifs est calculée d'après leur ordre d'apparition dans la variable. Portage balaye cette variable de gauche à droite et incrémente la priorité en chemin. L'entrée la plus à gauche commence avec une priorité de 1, la suivante a une priorité de 2 et ainsi de suite.

Sauf si   contient une entrée pour l'arbre de Portage, l'arbre de Portage se voit toujours assigner une priorité de  -1000. On peut facilement changer cela en plaçant   dans la variable  :

Dans l'exemple précédent, l'arbre alternatif utilisateur aura une priorité de 1 et l'arbre de Portage une priorité de 2.

Utilisation d'arbres alternatifs non sûrs
Lorsque vous utilisez des arbres alternatifs importants ou des arbres dont la qualité est soit faible, soit inconnue, il est recommandé de masquer en dur tout l'arbre alternatif.

Après cela, il ne vous reste plus qu'à démasquer les paquets que vous voulez installer.

De cette manière rien d'étrange ne se produira lors des mises à jour. De plus cela est plus sûr que de définir des priorités.

Génération du cache
Lorsque de grands arbres alternatifs sont installés, Portage peut mettre un temps très long pour réaliser des opérations telles que la résolution des dépendances. Ceci est dû au fait, qu'en général, les arbres alternatifs ne possèdent pas de cache des méta-données.

Vous pouvez générer un cache de méta-données local en exécutant la commande  après synchronisation de vos arbres alternatifs.

Be careful, because emerge --regen takes a lot of time and it's not recommended for rsync users as rsync updates the cache using server-side caches (most of users of portage are rsync users). Rsync users should simply run emerge --sync (or eix-sync) to regenerate the cache. It's probably only users of very large overlays should try emerge --regen.

eix-sync
eix-sync peut exécuter   après synchronisation de vos arbres alternatifs et et de l'arbre de portage.

eix-update
eix-update peut se servir du cache des méta-donnés généré par    pour améliorer la performance et la précision. Pour activer cela, définissez   à " "  dans le fichier.