This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

Arbre alternatif

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page Ebuild repository and the translation is 48% complete.
Outdated translations are marked like this.
Resources

Un "dépôt ebuild", également appelé "overlay" est une structure arborescente composée de répertoires et de fichiers, utilisée pour enrichir la liste des logiciels disponibles dans le gestionnaire de paquets du système. Ces dépôts sont également utilisés par les développeurs de Gentoo pour prototyper, en attendant la création de nouveaux ebuilds. Un tel dépôt peut contenir des ebuilds pour un ou plusieurs EAPIs.

The main repository on a Gentoo system is known as the Gentoo ebuild repository. It contains ebuilds maintained by official Gentoo developers and members of the community (through the Proxy Maintainers project). System administrators can add additional ebuild repositories to the system using various utilities and methods described below.

Traitement des arbres alternatifs

Un arbre alternative n'est ni plus ni moins qu'un ensemble de fichiers (ebuilds, fichiers de métadonnées principalement). Ils peuvent-être récupérés depuis des dépôts publics (git, CVS, SVN ...) ou-bien téléchargés en tant qu'archives, et décompressés manuellement sur le système. Il est cependant recommandé d'utiliser les dépôts gérés par des tiers confiance, puisqu'installer un nouvel arbre alternatif aura comme incidence que Portage consultera cette nouvelle source avant de décider quel logiciel installer. En cas de compromission du dépot, des packets compromis pourraient alors se retrouver installés sur le système.

The now default approach for handling repositories is through /etc/portage/repos.conf which, like many other Portage related locations, can be a directory as well.

Repository definitions inside /etc/portage/repos.conf/ also inform Portage if and how the repository can be updated. With it, calling emerge --sync will automatically update the repositories as well.

A deprecated, yet still supported method is to use the PORTDIR_OVERLAY variable inside /etc/portage/make.conf. This variable can point to one or more additional locations on the file system where repositories are available. The use of the /etc/portage/repos.conf/ directory is highly preferred.

For more information, see /etc/portage/repos.conf and the Portage/Sync article.

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

user $emerge --info --verbose
user $portageq repos_config /

Sauf si la variable PORTDIR_OVERLAY 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.

Logiciels disponibles

Il existe de nombreux outils pour supporter les arbres alternatifs.

Layman

The layman application makes it easier to manage and update multiple additional ebuild repositories. It is a command-line application through which publicly available ebuild repositories can be listed, subscribed to and unsubscribed from, as well as update those repositories.

It supports both the make.conf as well as repos.conf method.

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 PORTDIR_OVERLAY.

emaint

See the Sync (Portage project) article and man 1 emaint.

Intégration dans eix

eix-sync is a wrapper starting emerge --sync (which in turn starts emaint sync --auto) followed by eix-update. For further details see the Eix article and man 1 eix.

eselect-repository

eselect repository maintains /etc/portage/repos.conf entries for Portage to access and synchronize. See Eselect/Repository article for details.

Usage

Emerging a duplicate package

When working with ebuild repositories it is possible to encounter a situation where multiple versions of the same package are available from different ebuild repositories. Instruct Portage to install a specific package from a specific ebuild repository with the :: notation:

root #emerge --ask category/atom::repository-name

The same notation can be used for different emerge instructions, including uninstalling a package through --depclean.

Bonnes pratiques

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 emerge --regen après synchronisation de vos arbres alternatifs.

root #layman -S
root #emerge --regen

Soyez vigilants: la commande emerge --regen prend beaucoup de temps, et n'est pas recommandée pour les utilisateurs de rsync; puisque rsync met à jour les caches en utilisant ceux des serveurs (et la plupart des utilisateurs de portage sont utilisateurs de rsync). Si vous utilisez rsync, utilisez simplement emerge --sync (ou eix-sync) pour reconstruire le cache. Normalement, seul les utilisateurs de très gros dépôts alternatifs devraient utiliser emerge --regen.

Masking installed but unsafe ebuild repositories

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.

File/etc/portage/package.maskMasquer tous les paquets d'un arbre alternatif

'"`UNIQ--pre-00000001-QINU`"'

This is a deprecated template. Help us update this template!

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

File/etc/portage/package.unmaskDémasquer un paquet donné dans un arbre alternatif

'"`UNIQ--pre-00000004-QINU`"'

This is a deprecated template. Help us update this template!

See also

External resources