Table des matières

Les paquets masqués

:wiki:travaux.png

Sujet : Les paquets masqués (“masked packages”)

Distribution : Gentoo

Niveau : Intermédiaire

Auteur : Tenshi

Introduction

Des paquets dit “masqués” (masked packages) ne seront pourront pas être installés sur votre système tant que vous n'aurez pas effectué des actions spécifiques.

Masquer un paquet

Ancienne méthode

Un paquet peut être masqué en ajoutant une entrée dans /usr/portage/profiles/package.mask. Autrefois, c'était la seule façon de cacher un paquet. Si vous souhaitez installer un paquet figurant dans package.mask, il faudra commenter ce paquet dans le fichier. Noter que package.mask est écrasé par emerge sync, vos modifications n'y survivront donc pas. Vous pouvez également masquer des paquets problématiques grâce à ce fichier.

Nouvelle méthode

La nouvelle façon de faire pour masquer des paquets est de déclarer des KEYWORDS dans ebuild.

Pour chaque architecture (x86, ppc, sparc, sparc64, alpha), un ebuild peut être marqué -arch, ce qui veut dire “Ne marche pas”, ~arch qui signifie instable, ou arch pour stable. Vous pouvez modifier votre niveau de tolérance face aux ebuilds instable en définissant ACCEPT_KEYWORDS dans /etc/make.conf. Par exemple, ACCEPT_KEYWORDS=”~x86” va accepter les paquets instables sur une architecture x86. Par défaut, seul les paquets stable sont tolérés.

ACCEPT_KEYWORDS peut aussi être modifié en ligne de commande. Par exemple :

ACCEPT_KEYWORDS="~x86" emerge -pv unstablepackage

Portage

Comme décrit dans la page de manuel de portage, depuis Portage 2.0.50, vous pouvez créer une entrée dans /etc/portage/package.keyword pour gérer des autorisations par paquet.

category/package ~arch

Si vous acceptez généralement ~arch dans votre make.conf et que vous voulez faire une exception pour un paquet particulier, afin que seul le paquet stable soit considéré, la syntaxe est un peu obscure :

category/package -~arch arch

Vous pouvez également transmettre le chemin complet de l' ebuild à emerge, ce qui surpassera tous les masquages. C'est donc un moyen rapide pour installer un paquet masqué. Mais cette méthode n'ajoute pas le paquet dans world, il n'est donc pas recommandé de l'utiliser sans bonnes raisons. Cela ne va également pas masquer les dépendances, qui signifiera messages d'erreurs FIXME. N'utilisez cette méthode que dans le cas où vous voulez faire quelque chose contredisant votre profil système, comme d'installer la version 2.95 de gcc sur un système récent.

Si vous utilisez Portage >= 2.0.48, il y a une autre option pour installer des paquets masqués qui ne demande pas d'éditer package.mask. Vous pouvez ajouter l'entrée category/package dans /etc/portage/packake.unmask, qui, lui, survivra à un emerge sync.

Vous pouvez aussi masquer des paquets si vous le souhaitez. Avec une version de Portage antérieure à la 2.0.48, le fichier à éditer est /etc/portage/profiles/package.mask. Pour les versions plus récentes, le fichier est /etc/portage/package.mask.

Pour avoir un compte-rendu des versions valide pour un paquet, vous pouvez utiliser la commande etcat, qui est inclut dans le paquet gentoolkit :

etcat -v package