Présentation de Ncooker

Ncooker est le gestionnaire de paquets de Nasgaïa. Il permet d’accomplir plusieurs tâches telles que l’installation, la désinstallation, la recompilation, la recherche et le téléchargement de paquets. Ncooker permet aussi la création et la modification de ses propres paquets.

La nommenclature des paquets retenue est la suivante :

foobar-1.0-nga1.nbuild
foobar-1.0-nga1-i686.nba

Les nbas et les nbuilds sont des tar, vous pouvez donc les décompresser facilement. Les paquets peuvent être compilés au choix en root ou sous son propre compte utilisateur. Vous pouvez définir un fichier de configuration Ncooker personnel dans ~/.Ncooker/Ncooker.conf pour utiliser des paramètres différents de ceux définis dans le fichier de configuration global /etc/Ncooker/Ncooker.conf.

Il est possible d’installer des paquetages pré-compilés *.nba, ce qui est utile pour les faibles configurations et/ou utilisateurs pressés. Ncooker peut donc s’apparenter à emerge (gentoo), pacman (archlinux), urpmi (mandriva), apt-get (debian), ...

L’ancienne version de Ncooker est toujours disponible sur cette adresse : Télécharger Ncooker 1.0

Napt ( Télécharger le paquet ), l’outil qui permettait de faire une mise à jour et une installation de paquet depuis le net sera dorénavant intégrée dans Ncooker. Ncooker incluera tous les outils concernant les paquets, il sera aisément configurable.

Spécifications Paquetages

Pourquoi un nouveau système de paquetages ?

Il existe déjà des systèmes de paquetages éprouvés pour les systèmes GNU/Linux tels que RPM (utilisé par les distributions RedHat, Mandriva, ...) ou DPKG (utilisé par la distribution Debian). Chacun d’eux possède ses avantages et ses inconvénients. Ce chapitre tente d’expliquer ce qui a motivé la conception d’un nouveau format de paquetages.

En voici les principales raisons :

  • L’avantage de créer son propre format est que nous pouvons le faire évoluer à «loisir». Reprendre et modifier un système de paquetages existant pour l’adapter à nos besoins aurait probablement amené de nombreuses critiques. En procédant comme nous le faisons, nous ne perturbons pas les utilisateurs et développeurs habitués au standard des autres distributions.
  • Les outils de base pour la gestion des paquetages sont écrits en script shell bash, en essayant de réduire au maximum l’utilisation de commandes annexes (grep, sed, ...). Cela offre plusieurs avantages, parmi lesquels la possibilité de comprendre facilement le fonctionnement interne de ces commandes, la possibilité de les améliorer facilement et rapidement, la possibilité de les utiliser dans des environnements restreints - utilisant BusyBox par exemple. Cela ouvre la voie vers des mini-systèmes de réparation (rescue disk), voire des systèmes embarqués.
  • Les paquetages se doivent d’être pratiques à utiliser tout en étant le plus «léger» possible, en tant que tels, ce sont des fichiers .tar. Cela permet d’extraire la partie informations très rapidement. Mais à l’intérieur, l’application est archivée avec bzip2, car il offre un taux de compression très élevé (une discussion fait plus porter le choix sur 7zip)
  • Nous voulions que tout paquetage binaire (NBA) dispose des informations nécessaires pour pouvoir être «recompilable». Pour faire une analogie avec le système de paquetages RPM, un paquetage NBA est l’équivalent d’un paquetage RPM (binaire) et d’un paquetage SRPM (source). Il peut ainsi servir à installer une application, mais également à la recompiler pour l’adapter au mieux à sa configuration système. La différence notable est que les fichiers sources ne sont pas intégrés au paquetage NBA. L’orientation retenue est semblable à celle de la distribution Gentoo : ils sont téléchargés depuis leur emplacement Internet officiel.
  • Nous souhaitons que le mécanisme de gestion des dépendances soit le plus automatisé possible. Ceci permet de libérer les concepteurs de paquetages de cette lourde tâche qu’est la recherche de dépendances d’une application. Bien sûr, ils peuvent toujours intervenir manuellement sur le résultat final s’ils le souhaitent.
 
presentation_ncooker.txt · Dernière modification: 19/10/2005 17:27
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki