Portage
Portage est le système de gestion des paquets sous Gentoo Linux.
Portage est écrit en python.
Les informations d’installation tels que le nom de l’archive à télécharger, les miroirs de téléchargement, bref toutes les options spécifiques à l’installation d’un paquet sont contenues dans un fichier portant l’extension .ebuild se trouvant /usr/portage/cotégorie/paquet-version.ebuild . Vous pouvez-vous bien sûr écrire vous même des ebuilds et pourquoi pas les proposer pour l’arbre officiel de portage.
Configuration
La configuration de Portage se situe majoritairement dans le répertoire /etc/portage et est composée de plusieurs fichiers :
make.conf
Le fichier make.conf contient les informations et options de compilation globales pour l’installation de votre distribution Gentoo Linux. Voici le minimum de ce qu’il doit contenir :
ACCEPT_KEYWORDS="amd64"
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-mtune=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
USE="-xorg -cups -fortran -X -acl -gpm bash-completion clang device-mapper vim-syntax ipv6 llvm lzma udev urandom threads"
LCD_DEVICES="ncurses text"
VIDEO_CARDS="fbdev vga"
ALSA_CARDS=""
ALSA_PCM_PLUGINS=""
LINGUAS="en"
APACHE2_MODULES=""
CAMERAS=""
CALLIGRA_FEATURES=""
COLLECTD_PLUGINS=""
GPSD_PROTOCOLS=""
make.profile
Le fichier make.profile est un lien symbolique vers le répertoire du profile actif. Vous pourvez le modifier via la commande eselect :
eselect profile list
*.accept_keywords
Les fichiers avec l’extension .keywords comprennent une liste de paquets qui doivent être installés en ~ARCH (~amd64, ~x86…).
*.license
Les fichiers avec l’extension .license comprennent une liste de paquets qui doivent être installés sur une licence spécifique.
*.mask
Les fichiers avec l’extension .mask comprennent une liste de paquets qui doivent être masqués.
*.unmask
Les fichiers avec l’extension .unmask comprennent une liste de paquets qui doivent être non-masqués pour être installés.
*.use
Les fichiers avec l’extension .use comprennent une liste de paquets et les USE qui doivent être appliqués à l’installation.
Utilisation
Maintenant comment utiliser Portage au quotidien…
Mettre à jour
L’arbre de paquets de portage
emerge --sync
Le système
emerge -avuDN @system
Le monde
emerge -avuDN @world
Appliquer un patch
Dans notre exemple nous appliquerons un patch sur les sources du paquets nvidia-drivers .
Créons le répertoire qui accueillera le patch du paquet :
mkdir -p /etc/portage/patches/x11-drivers/nvidia-drivers-319.32
Téléchargez le patch à appliquer :
wget https://bugzilla.kernel.org/attachment.cgi?id=102881 -O /etc/portage/patches/x11-drivers/nvidia-drivers-319.32/Linux-3.10.patch
Installez le paquet qui sera automatiquement patché par portage
emerge -av1 nvidia-drivers