Présentation de Ngadkm

Ngadkm est un acronyme pour Nasga Development Kit Maker (créateur de kit de développement de Nasgaïa). Il s’agit d’un générateur automatisé de ce qui est appelé le devkit.

Qu'est-ce que le devkit ?

Historiquement, Nasgaïa a été fondée à partir d’une LFS (Linux From Scratch), générant un système minimal mais utilisable pour ajouter de nouveaux logiciels. A partir de ce système minimal, la génération des premiers paquets via Ncooker peut-être effectuée.

Le devkit est un ensemble de nbas constituant un système Nasgaïa ne contenant que ce qui est nécessaire pour créer d’autres nbas. Il s’agit donc de la première pierre d’une release de Nasgaïa.

Jusqu’alors, le devkit était fabriqué à la main, en suivant plus ou moins la procédure LFS. Ce travail étant fastidieux, et la méthode peu propice au travail collaboratif, l’idée était d’automatiser tout ça : ngadkm est né.

Comment ça fonctionne ?

Ngadkm est un ensemble de scripts shell lançant à son tour des scripts shell personnalisés. Il automatise non seulement le lancement des procédures de compilation, mais aussi toute la mise en place de l’environnement nécessaire à la bonne marche de cette procédure. Cela inclut les variables d’environnement qui doivent être ou ne doivent pas être définies, le téléchargement et la décompression des sources ou l’entrée dans le chroot de manière sécurisée. Le but étant de réduire au maximum les chances de mauvaises manipulations de la part de l’utilisateur.

L’utilisateur qui a bien paramétré Ngadkm n’a qu’à lancer l’outil et le laisser travailler ; les seules questions posées sont des confirmations pour continuer à des points stratégiques, ou des mots de passe (comme celui de root, car Ngadkm automatise également la nécessité de passer root lorsque c’est nécessaire).

Lorsqu’il est lancé, le script tentera d’aller jusqu’à la fin, c’est à dire le lancement séquentiel de Ncooker pour générer les nbas. En cas d’erreur à n’importe quel moment, il s’arrête, indiquant la raison de l’échec, ou le nom du fichier de log permettant d’en savoir plus.

Toutes les procédures de téléchargement, décompression, application de patch, compilation et installation sont tracées dans des fichiers de logs centralisés. Des fichiers de statut dans le répertoire log constituent la base de données de Ngadkm, afin qu’il se souvienne ce qui a été fait. Bonne nouvelle, ces fichiers permettent à l’outil de reprendre sa construction là où elle s’était arrêtée, au lieu de tout recommencer à chaque fois.

Ngadkm suit dans les grandes lignes la procédure du LFS Book, version développement. Suivre la version développement plutôt que la version stable apporte un plus, car cela permet de toujours être au fait desdernières évolutions. Ce principe a été utilisé au tout début de Ngadkm (alors appelé ngalfs) pour intégrer de base les noyaux de la série 2.6 et remplacer devfs par le couple hotplug/udev. Comme cela ne s’invente pas (ou il faut y passer du temps), autant utiliser ce qui a déjà été fait, et les développeurs de LFS nous ont montré à plusieurs reprises qu’ils étaient digne de confiance.

 
presentation_ngadkm.txt · Dernière modification: 10/08/2006 11:49 par riri
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki