Je vais développer les raisons qui me font penser, au-delà de « chacun voit midi à sa porte », que nix est une bonne base pour de tels paquets universels.
Quant à l'installateur universel, 2 approches possibles:
- [...]
-des paquets "autonomes", c'est-à-dire pré-compilés en statique pour éviter les soucis avec les différentes versions de chaque
bibliothèque dans les différentes distros. Et là on perd les bienfaits des gestionnaires de paquets et de dépendance (parce qu'on décide > de les ignorer).
Nix donne de tels paquets « autonomes », sous forme de one-click-installs. Ces paquets ont des liens dynamiques, mais vers des bibliothèques dont le chemin est défini statiquement. Tu as ainsi les assurances des liens statiques, mais avec les avantages (notamment mémoire) des liens dynamiques. Nix garde également les traces des dépendances, et il pourrait avertir si on installe une mise à jour (de sécurité par exemple) d'une bibliothèque dont dépend un tel paquet.
Mais c'est plus facile à décrire en quelques lignes qu'à faire (et bonjour la batterie de tests pour les développeurs!!).
Nix apporte là aussi une réponse avec hydra. L'approche déclarative de nixos permet de décrire des tests unitaires qui parlent de « la machines obtenue en installant tels paquets, configurés de la façon suivante ». Ça fait certes une batterie de tests impressionante, mais on a un langage propre pour la décrire et une architecture pour la faire tourner.
[^] # Re: Installateurs universels ?
Posté par galbolle . En réponse à la dépêche Nix 1.7, Nixpkgs, NixOS 14.04, Guix 0.6. Évalué à 3.
Je vais développer les raisons qui me font penser, au-delà de « chacun voit midi à sa porte », que nix est une bonne base pour de tels paquets universels.
Nix donne de tels paquets « autonomes », sous forme de one-click-installs. Ces paquets ont des liens dynamiques, mais vers des bibliothèques dont le chemin est défini statiquement. Tu as ainsi les assurances des liens statiques, mais avec les avantages (notamment mémoire) des liens dynamiques. Nix garde également les traces des dépendances, et il pourrait avertir si on installe une mise à jour (de sécurité par exemple) d'une bibliothèque dont dépend un tel paquet.
Nix apporte là aussi une réponse avec hydra. L'approche déclarative de nixos permet de décrire des tests unitaires qui parlent de « la machines obtenue en installant tels paquets, configurés de la façon suivante ». Ça fait certes une batterie de tests impressionante, mais on a un langage propre pour la décrire et une architecture pour la faire tourner.