| edix_developpeur_gentoo_mineur(7f) | edix_developpeur_gentoo_mineur(7f) |
NOM
edix_developpeur_gentoo_mineur - Modification mineure (par un développeur) des logiciels administrés via gentoo
INTRODUCTION
La page de manuel edix_developpeur_gentoo(7f) décrit les deux types de mise à jour gentoo qui existent. Nous nous intéressons ici à la première, dite "mineure" car elle n'implique aucun changement de la base de donnée des paquets gentoo, n'implique que peu d'actes de compilation et ne change rien aux données distribuées par notre serveur (le jeu des paquets binaires mis à disposition reste notamment inchangé).
On admet que le développeur a le nom d'utilisateur lamenaire sur une machine linux où il a chrooté l'image de référence et s'est connecté en tant que lafrier sur cette image (voir edix_developpeurs(7f)).
RQ: Dans cette page de manuel, tout peut être reproduit sans chroot. Les actions de développement ne concernent que le projet git edix et sont réalisées par le développeur sur sa machine. Il suffit ensuite de disposer d'une machine sous edix pour chacune des étapes de tests.
AVANT TOUTE CHOSE METTRE A JOUR L'IMAGE
On passe sur le chroot en tant que lafrier et on commence par faire une mise à jour usuelle, comme le ferait l'administrateur d'une machine clone.
Voir edix_mise_a_jour(7f).
LE FICHIER WORLD
Lorsqu'un administrateur d'une machine clone lance le script mise_a_jour_systeme_gentoo.sh, le fichier /var/lib/portage/world est modifié de façon à contenir la liste de tous les paquets qui seront installés via gentoo. Cette liste est définie à plusieurs endroits dans le projet edix.
Les paquets incontournables
Le premier endroit où les paquets sont listés est le fichier
${EDIX_DEVELOPPEUR}/reference/gentoo/var/lib/portage/world
Il contient la listes des paquets incontournables, quelque soit le type de pratique envisagé. Si un développeur ajoute un paquet à cette liste, cela signifie qu'il est convaincu que ce paquet fait partie de ces incontournables.
L'action de développement correspondante se résume à utiliser vim pour éditer le fichier :
lamenaire:~ $ vim ${EDIX_DEVELOPPEUR}/reference/gentoo/var/lib/portage/world
Les paquets dépendant du choix des options
Sur chaque machine clone, le projet edix est cloné (en https) sous
/home/lafrier/edix
A l'intérieur de ce répertoire il y a un fichier de configuration :
/home/lafrier/edix/configuration.txt
Typiquement,
lafrier:~ $ vim /home/lafrier/edix/configuration.txt vim:
latex
math
bureautique
noblob_office
nolaplace
noportable
nosyrthes
novirtuel
Dans cet exemple, les options latex, math et bureautique sont activées et les autres ne le sont pas. La sélection des options (donc l'édition du fichier configuration.txt) est à la charge de l'administrateur, pas du développeur qui s'assure, quand à lui, que chacune des options est opérationnelle.
Quand un développeur souhaite ajouter un paquet correspondant à l'une de ces options, il modifie le fichier suivant (ici pour l'option math) :
${EDIX_DEVELOPPEUR}/reference/gentoo/configuration/math/ajout_a_world.txt
Il édite ce fichier en ajoutant/supprimant des paquets de la liste, e.g.
lamenaire:~ $ vim ${EDIX_DEVELOPPEUR}/reference/gentoo/configuration/math/ajout_a_world.txt
vim:
dev-lang/R
sci-mathematics/maxima
LA CONFIGURATION DE PORTAGE
Lorsqu'un administrateur d'une machine clone lance le script mise_a_jour_systeme_gentoo.sh, le répertoire /etc/portage/ est modifié de façon à contenir la liste de tous les fichiers de configuration de portage (les options de compilation générales, les options de compilation par paquet, l'acceptation des licences, etc). Pour la définition de ces fichiers de configuration, l'organisation du projet edix est la même que pour la définition des paquets à installer (le fichier world, voir ci-dessus). Il y a une configuration de base et une configuration par option.
La configuration de base
Le répertoire qui contient les fichiers de configuration en l'absence de toute option est
${EDIX_DEVELOPPEUR}/reference/gentoo/etc/portage/
Le développeur édite ces fichiers directement comme si il éditait /etc/portage pour une administration gentoo usuelle.
La configuration des options
Lors de l'activation d'une option, la configuration de portage peut devoir être modifiée, par exemple pour accepter la licence d'un des paquets installés par cette option. Dans le projet edix, ces modifications sont écrites dans des scripts shell qui viennent enrichir la configuration de base.
A titre d'exemple, le script correspondant à l'option math est
${EDIX_DEVELOPPEUR}/reference/gentoo/configuration/math/ajout_a_portage.sh
Le développeur édite ce script pour définir les ajustements de la configuration. La structure de ces scripts est la suivante :
lamenaire:~ $ vim ${EDIX_DEVELOPPEUR}/reference/gentoo/configuration/math/ajout_a_portage.sh
vim:
echo ">=sys-libs/zlib-1.2.13-r1 minizip" >> /tmp/package.use/R
echo "dev-lang/R png" >> /tmp/package.use/R
Dans ces script, on utilise la commande echo pour ajouter des lignes dans les fichiers de configurations qui auront été mis temporairement dans /tmp. En effet, lorsque l'administrateur d'une machine clone lance le script de mise à jour mise_a_jour_systeme_gentoo.sh, les fichiers de configuration de portage de la configuration de base sont d'abord placés sous /tmp. C'est seulement dans une seconde étape que les scripts de configuration des options sont lancés.
TESTS
A écrire ...
VOIR AUSSI
edix_developpeur(7f), edix_developpeur_gentoo(7f), edix_mise_a_jour(7f)
| 2026-04-10 | UNIX |