Próximo: Portando para uma nova plataforma, Anterior: Atualizações de segurança, Acima: GNU Guix [Conteúdo][Índice]
Bootstrapping em nosso contexto se refere a como a distribuição é construída “do nada”. Lembre-se de que o ambiente de construção de uma derivação não contém nada além de suas entradas declaradas (veja Introdução). Então há um problema óbvio de galinha e ovo: como o primeiro pacote é construído? Como o primeiro compilador é compilado?
É tentador pensar nessa questão como algo com que apenas hackers obstinados podem se importar. No entanto, embora a resposta a essa questão seja de natureza técnica, suas implicações são abrangentes. Como a distribuição é bootstrapped define até que ponto nós, como indivíduos e como um coletivo de usuários e hackers, podemos confiar no software que executamos. É uma preocupação central do ponto de vista da segurança e do ponto de vista da liberdade do usuário.
O sistema GNU é feito principalmente de código C, com libc em seu núcleo. O
próprio sistema de construção GNU assume a disponibilidade de um Bourne
shell e ferramentas de linha de comando fornecidas pelo GNU Coreutils, Awk,
Findutils, ‘sed’ e ‘grep’. Além disso, programas de construção — programas
que executam ./configure
, make
, etc. — são escritos em Guile
Scheme (veja Derivações). Consequentemente, para ser capaz de construir
qualquer coisa, do zero, Guix depende de binários pré-construídos de Guile,
GCC, Binutils, libc e os outros pacotes mencionados acima — os
binários bootstrap.
Esses binários bootstrap são “considerados garantidos”, embora também possamos recriá-los se necessário (veja Preparando para usar os binários do Bootstrap).
Próximo: Portando para uma nova plataforma, Anterior: Atualizações de segurança, Acima: GNU Guix [Conteúdo][Índice]