• [^] # Re: Installation des paquets et des dépendances

    Posté par . En réponse à la dépêche CUDF, ou la résolution de dépendances universelle. Évalué à 4.

    Bonjour,

    Ça existe, il y a déjà pas mal de monde qui y a pensé. Le gestionnaire de paquets, Setup, que je développe, en est au moins un qui fonctionne comme cela.

    Il télécharge les paquets et les installe en même temps, sachant qu'on peut également télécharger plusieurs paquets en même temps et en installer plusieurs en même temps.

    Pour copier des fichiers, pas besoin d'avoir les dépendances déjà installées. Le seul problème est qu'un paquet peut vouloir modifier une de ses dépendances (mais ça pue, par exemple, on n'écrit pas dans /etc/X11/xorg.conf, on ajoute un fichier dans /etc/X11/xorg.conf.d. Plus de problèmes).

    Pour cela, il y a les triggers, qui sont des scripts lancés séquentiellement une fois tous les paquets installés. Par contre, l'ordre des triggers les uns par rapport aux autres n'est pas assuré. Là, des modifications globales sont permises, comme un ldconfig, etc.

    Les scripts de postinst et preinst sont eux exécuté juste après l'installation du paquet, par un processus Bash lancé par le thread qui installe le paquet. Ce script ne peut toucher qu'au paquet en cours d'installation (envoi de communications, un système à la debconf mais en mieux intégré, configuration en fonction de l'ordinateur sur lequel le paquet est installé (architecture, paramètres réseau), etc).

    Et en effet, ça aide vraiment. Je bootstrap Logram en moins d'une minute, en installant build-essential (qui ramène logram-minimal-core). C'est un système qui ne démarre pas, mais qui contient Bash, les binutils, util-linux-ng, xz, tar, bzip2, less, sed, grep, etc.

    Une petite visite de mon site perso, en particulier cette page : http://logram-project.org/packages-4-1.html , te montrera ce que contient ce paquet. Le site en lui-même présente Setup. J'ai également des journaux qui en parlent ainsi qu'une dépêche.

    Voilà, j'ai assez fait ma pub.