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.

Since package repositories are nothing more (or less) than a set of files (ebuilds, metadata files, ChangeLog entries ...) these repositories can be pulled in from public repositories (git, cvs, svn ...) or downloaded as tarballs and extracted manually onto the system. It is advised to use managed repositories by trusted third parties; any installed overlay will cause Portage to look through the overlayed files when deciding which software to install. If compromised code is in the overlay, then compromised packages could be installed on the system.

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 will automatically place the ebuilds/categories it generates into the first overlay found in. Most users will want to prevent crossdev from disturbing layman's overlays or the user's personal per-machine overlay (normally created at ). Create an overlay specifically for crossdev's use:

Then instruct Portage and crossdev to use this overlay:

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.

After that unmask the packages that will be installed.

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.

Generate a local metadata cache by running emerge --regen after syncing the overlays:

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 can run emerge --regen</tt> after syncing the overlays and portage tree.

eix-update
eix-update</tt> can utilize the metadata cache generated by emerge --regen</tt> for a speedup and better accuracy. To enable this, set the  to   in.