Suivant: , Précédent: , Monter: GNU Guix   [Table des matières][Index]


20 Bootstrapping

Dans notre contexte, le bootstrap se réfère à la manière dont la distribution est construite « à partir de rien ». Rappelez-vous que l’environnement de construction d’une dérivation ne contient rien d’autre que les entrées déclarées (voir Introduction). Donc il y a un problème évident de poule et d’œuf : comment le premier paquet est-il construit ? Comment le premier compilateur est-il construit ?

Il est tentant de penser que seuls les bidouilleurs les plus enthousiastes se soucient de cette question. Cependant, bien que la réponse à cette question soit technique par nature, ses implications sont très vastes. La manière dont une distribution est amorcée définie l’étendue de ce que nous, individuellement et collectivement en tant qu’utilisateurs, utilisatrices, bidouilleuses et bidouilleurs, pouvons faire confiance aux logiciels que nous lançons. C’est une préoccupation centrale du point de vue de la sécurité et de liberté des utilisateurs.

Le système GNU est surtout fait de code C, avec la libc en son cœur. Le système de construction GNU lui-même suppose la disponibilité d’un shell Bourne et d’outils en ligne de commande fournis par GNU Coreutils, Awk, Findutils, sed et grep. En plus, les programmes de construction — les programmes qui exécutent ./configure, make etc — sont écrits en Guile Scheme (voir Dérivations). En conséquence, pour pouvoir construire quoi que ce soit, de zéro, Guix a besoin de binaire pré-construits de Guile, GCC, Binutils, la libc et des autres paquets mentionnés plus haut — les binaires de bootstrap.

Ces binaires de bootstrap sont pris comme des acquis, bien qu’on puisse les recréer (ça arrive plus tard) si besoin (voir Se préparer à utiliser les binaires de bootstrap).


Suivant: Porter vers une nouvelle plateforme, Précédent: Mises à jour de sécurité, Monter: GNU Guix   [Table des matières][Index]