NAME
edix_developpeur - Pratique de développement du système edix.
INTRODUCTION
Le système d'exploitation edix(7f) est en édition permanente. Les développeurs doivent donc s'assurer à tout moment, si l'administrateur d'une machine clone décide de faire une mise à jour (voir edix_mise_a_jour(7f)), il disposera toujours d'une machine fonctionnelle pour l'ensemble des travaux pratiques prévus sur edix (voir edix_travaux_pratiques(7f)).
RQ: On appelle machine clone une machine qui utilise le système d'exploitation edix dans sa version de référence. Pour des machines adpatées à des besoins spécifiques, voir edix_fille(7f).
Chaque développeur de edix doit avoir accès au serveur nastar. En effet, les évolutions graduelles d'edix sont toutes des modifications des fichiers de configuration et des scripts contenu dans le projet git suivant :
- nastar:/nastar/git/edix.git
Les actes de développement consistent pour l'essentiel à
-
- *
- enrichir le projet git (notamment les pages de manuel et les scripts de mise à jour) ;
- *
- tester les mises à jours sur une machine utilisant edix~;
- *
- créer et publier de nouvelles versions du fichier image qui sert de base à tous les types d'installation.
PASSER PAR UN CHROOT
Pour contribuer au développement d'edix, la procédure la plus simple est la suivante.
La machine hôte
On dispose d'une machine sous linux, que l'on appelle la machine hôte. L'utilisateur sur cette machine est appelé lamenaire dans toute la documentation des actes de développement :
-
- *
- lafrier est l'administrateur des machines sous edix ;
- *
- lamenaire est le développeur du système edix.
- lamenaire:~ $ git clone nastar:/nastar/git/edix.git
Presque tous les actes de développements seront effectués dans le répertoire ainsi obtenu :
- /home/lamenaire/edix
Créer une variable d'environnement globale sur la machine hôte
A l'échelle du système unix de la machine hôte, le développeur doit déclarer une variable d'environnement EDIX_DEVELOPPEUR qui contient l'adresse de ce répertoire. Sur gentoo par exemple :
- lamenaire:~ $ doas echo "EDIX_DEVELOPPEUR="/home/lamenaire/edix" > /etc/env.d/999edix_developpeur lamenaire:~ $ doas env-update && source /etc/profile
En tout cas, dans tous les shells la commande
- lamenaire:~ $ echo ${EDIX_DEVELOPPEUR}
doit renvoyer (dans notre exemple)
- /home/lamenaire/edix
Cette variable d'environnement sera utilisée par les scripts de soutien au développement.
Télécharger l'image
On télécharge l'image de la machine edix de référence à l'adresse suivante :
et on la décompresse.
Chrooter sur l'image
Voir la page de manuel edix_chroot(7f)
Les actions de développement
Les étapes du travail de développement sont alors les suivantes :
-
- *
- faire évoluer le projet git edix sur la machine hôte et pousser la nouvelle version sur le nastar (RQ: à terme en utilisant une branche develop) ;
- *
- se logger en tant que lafrier sur l'image via le chroot et mettre à jour edix ;
- *
- tester si cela se passe bien et recommencer si besoin en retournant sur la machine hôte.
Quand on a une version d'edix validée, dont les évolutions sont significatives par rapport à la dernière machine de référence (edix-57G.img sur le web), notamment lorsqu'on a réalisé une mise à jour de la base de donnée de gentoo,
-
- *
- on laisse tourner le chroot ;
- *
- on passe sur la machine hôte ;
- *
- depuis l'extérieur du chroot (qui continue à tourner) on télécharge tout ce doit être mis à disposition sur https://nastar.laplace.enseeiht.fr/Edix/ notamment les bases de données et les binaires ;
- *
- on réduit le volume de l'image autant que possible en supprimant les fichiers inutiles ;
- *
- on ferme le chroot ;
- *
- on compresse l'image ;
- *
- on la recopie sur https://nastar.laplace.enseeiht.fr/Edix/
MISE A JOUR DU REPERTOIRE /opt/edix
Voir la page de manuel edix_developpeurs_opt_edix(7f).
MISE A JOUR DES LOGICIELS DEVELOPPES PAR edstar
Voir la page de manuel edix_developpeurs_edstar(7f).
AJOUT ET MODIFICATION DES LOGICIELS ADMINISTRES VIA gentoo
Voir la page de manuel edix_developpeurs_gentoo_mineur(7f).
MISE A JOUR GENTOO COMPLETE
Voir la page de manuel edix_developpeurs_gentoo_mineur(7f).
DEPLOIEMENT D'UN NOUVEAU FICHIER IMAGE
Voir la page de manuel edix_developpeur_mise_a_jour(7f)
VOIR AUSSI
edix(7f), edix_chroot(7f), edix_developpeurs_edstar(7f), edix_developpeurs_gentoo_majeur(7f), edix_developpeurs_gentoo_mineur(7f), edix_developpeur_mise_a_jour(7f), edix_developpeurs_opt_edix(7f), edix_mise_a_jour(7f), edix_travaux_pratiques(7f)