Handbook:PPC/Portage/CustomTree/fr
Utiliser un sous-ensemble du dépôt Gentoo
Exclure des paquets et des catégories
Il est possible de mettre à jour sélectivement certaines catégories/paquets et d'ignorer les autres catégories/paquets. Cela peut être réalisé en demandant à rsync d'exclure les catégories/paquets lors de l'étape emerge --sync.
In order for this method to work, manifest verification must be disabled. This will reduce the security of the repo. To disable the verification, either disable the
rsync-verify
USE flag on the sys-apps/portage package or set sync-rsync-verify-metamanifest=no
(see man 5 portage) in the repos.conf entry of the Gentoo ebuild repository.Définissez le nom du fichier qui contient les modèles d'exclusion dans la variable PORTAGE_RSYNC_EXTRA_OPTS dans /etc/portage/make.conf :
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
games-*/*
Notez toutefois que cela peut entraîner des problèmes de dépendances, car de nouveaux paquets autorisés peuvent dépendre de nouveaux paquets exclus.
Ajouter des ebuilds non officiels
Définir un dépôt ebuild personnalisé
Manual creation
Il est possible de demander à Portage d'utiliser des ebuilds qui ne sont pas officiellement disponibles via le dépôt Gentoo. Créez un nouveau répertoire (par exemple /usr/local/portage) dans lequel seront stockés les ebuilds tiers. Utilisez la même structure que pour le dépôt officiel de Gentoo !
root #
mkdir -p /var/db/repos/localrepo/{metadata,profiles}
root #
chown -R portage:portage /var/db/repos/localrepo
Ensuite, choisissez un nom sensé pour le dépôt. L'exemple suivant utilise "localrepo" comme nom :
root #
echo 'localrepo' > /var/db/repos/localrepo/profiles/repo_name
Then define the EAPI used for the profiles within the repository:
root #
echo '8' > /var/db/repos/localrepo/profiles/eapi
Dites à Portage que le dépôt maître est le dépôt ebuild principal de Gentoo et que le dépôt local ne doit pas être synchronisé automatiquement (car il n'est pas alimenté par une source externe telle qu'un serveur rsync, un miroir git, ou tout autre type de dépôt) :
masters = gentoo
auto-sync = false
Enfin, activez le dépôt sur le système local en créant un fichier de configuration de dépôt dans /etc/portage/repos.conf. Cela indiquera à Portage où se trouve le dépôt local personnalisé :
[localrepo]
location = /var/db/repos/localrepo
Optional: Creating a repo using eselect repository
Alternatively, a custom ebuild repository can be quickly created using the eselect repository module (from app-eselect/eselect-repository). In the following example, substitute localrepo
with a name of choice:
root #
eselect repository create localrepo
Adding localrepo to /etc/portage/repos.conf/eselect-repo.conf ... Repository <ebuild_repository_name> created and added
A bare repository named "localrepo" will be made available at /var/db/repos/localrepo.
Travailler avec plusieurs dépôts alternatifs
For those desiring to develop several ebuild repos, test packages before they hit the Gentoo repository, or who want to use unofficial ebuilds from various sources, the app-eselect/eselect-repository package also provides tooling to aid in keeping repositories up to date. See also eselect repository article.
eselect-repository
Par exemple, pour activer le dépôt alternatif hardened-development :
root #
eselect repository enable hardened-development
Mettre à jour des dépôts alternatifs ajoutés avec cette méthode se fait de manière transparente avec :
root #
emerge --sync
Logiciels non gérés par Portage
Utiliser Portage avec des logiciels auto-gérés
Parfois, les utilisateurs veulent configurer, installer et maintenir un logiciel individuellement sans que Portage n'automatise le processus, même si Portage peut fournir les logiciels voulus. Les cas connus sont les sources du noyau et les pilotes Nvidia. Il est possible de configurer Portage pour qu'il sache qu'un certain paquet est installé manuellement sur le système (et donc prendre en compte cette information lors du calcul des dépendances). Ce processus s'appelle injecting et est pris en charge par Portage via le fichier /etc/portage/profile/package.provided.
Par exemple, pour informer Portage que gentoo-sources-6.6.21 a été installé manuellement, ajoutez la ligne suivante à /etc/portage/profile/package.provided :
sys-kernel/gentoo-sources-6.6.21
C'est un fichier qui utilise les versions sans l'opérateur
=
.