Lors du dernier FOSDEM, une conférence sur le sujet de la résolution des dépendances dans les distributions a été faite par
Stefano Zacchiroli qui (rien à voir) est
devenu DPL Debian depuis.
La plupart des distributions se basent sur un ensemble de paquets (contenant logiciels, bibliothèques, et autres) liés entre eux par différents types de dépendances. Les formats de paquets les plus répandus sont les fichiers deb (Debian et dérivées), et rpm (Red Hat et dérivées). Les outils dpkg et rpm permettent de manipuler les paquets en local. La couche du dessus, qui contient des outils comme apt et yum, permet la résolution des dépendances. L'utilisateur peut donc choisir les paquets qu'il souhaite installer, et les dépendances sont résolues afin que les paquets nécessaires soient installés et que les éventuels paquets en conflit soient supprimés. L'outil de résolution des dépendances a pour seul but de répondre aux besoins de l'utilisateur sans enfreindre les règles de dépendances et de conflits définies. Éventuellement, cet outil peut répondre qu'il n'existe aucune solution au problème posé...
Dans les faits, il existe différents solveurs de dépendances différents entre les distributions, et même au sein de chaque distribution. Dans la plupart cas, il n'existe pas de bonne raison à cet état de fait. Seuls certains domaines spécifiques (par exemple, l'embarqué) peuvent nécessiter un algorithme de résolution différent. Lors de sa conférence intitulée «
Cross-distro dependency resolution: reusing solvers among distros », Stefano Zacchiroli, développeur Debian, présente le travail réalisé dans le but de créer un format standard de description des problèmes de résolution de dépendances. Ceci a pour but de pouvoir abstraire ces derniers en omettant les spécificités de chaque distribution (par exemple, transformer les différents niveaux de liens entre les paquets dans Debian : Depends/Recommends/Suggests/Conflicts/Replaces/etc. et la notion de paquets virtuels), et donc de pouvoir travailler sur des solveurs performants et éventuellement utilisés largement par les différentes distributions, en évitant la duplication du travail.
Plus de détails dans la suite de la dépêche
NdM :
Merci à Adrien Cunin pour son journal à l'origine de la dépêche.