Como atualizar todos os pacotes Debian do código fonte?

3

Para criar pacotes a partir do código-fonte, há apt-get source --compile pkg-name . Mas para que isso funcione, é preciso executar apt-get build-dep pkg-name , que faz o download de pacotes binários.

É possível chegar a um ponto, onde todos os pacotes que são atualizados, são compilados a partir do código-fonte de antemão?

    
por adrelanos 14.02.2015 / 10:44

1 resposta

3

É possível, mas é muito difícil. Se você realmente quiser reconstruir tudo a partir do código-fonte, você acabará encontrando loops de dependência que você terá que quebrar. Mas se você quiser perseverar, em vez de usar apt-get build-dep , você deve procurar dentro de cada pacote de fontes debian/control e reconstruir todos os pacotes listados em Build-Depends e Build-Depends-Indep . Idealmente, você também deve reconstruir todos os pacotes "essenciais" e todos os pacotes dos quais o build-essential depende (os pacotes não precisam declarar suas dependências).

Outros trabalharam nisso (e ainda são); você pode ler os esforços em andamento para iniciar o Debian no wiki Debian .

Como goldilocks indica que isso é uma perda de tempo. Na verdade, existem pessoas no Debian trabalhando para torná-lo completamente sem sentido assegurando que os pacotes binários sejam reproduzíveis, ie que você pode obter o mesmo binário que está no repositório reconstruindo em sua própria máquina, provando assim que o código fonte reivindicado é realmente o que foi usado para construir os binários; Como resultado, a menos que você deseje fazer alterações no código-fonte ou na configuração de compilação, não seria necessário recriar a partir do código-fonte em seu próprio computador. Você pode ler sobre este esforço no wiki Debian também; mais de 80% do arquivo já é reproduzível.

Se você quiser fazer isso como um exercício de aprendizado, a sugestão do é muito boa: leve Dê uma olhada no Linux do zero . Você também pode verificar as distribuições que são mais orientadas a fontes (como em compilar a partir do código-fonte localmente), como o Gentoo Linux .

    
por 14.02.2015 / 13:45