O que eu consegui descobrir. Primeiro, há esta breve descrição que é o que eu mais pergunto aqui .
No núcleo do sistema de compilação, encontra-se dpkg-buildpackages
, que usa fakeroot
, que por sua vez executa debian/rules
(que é um makefile) para bulidar um pacote. E isso pode ser suficiente se você for criar um pacote para uso interno para a versão em que você está executando.
Se, por outro lado, você estiver visando a debian
/ ubuntu
, você usará pelo menos debuild
, que executa lintian
e assina os arquivos.
Se você deseja segmentar versões diferentes de debian
/ ubuntu
, você usará pbuilder
, que, entre outras coisas, cria pacotes em um ambiente limpo não sobrecarregado com seus pacotes já instalados para ver as dependências reais . Pode-se considerar o uso de pbuilder-dist
para simplificar ainda mais as coisas.
Há pdebuild
, que é dito ser "forma pbuilder de fazer debuild". Não vejo isso executando lintian
, mas isso pode não estar de acordo com pbuilder
way.
Depois, há também cowbuilder
, se você quiser acelerar a criação de pacotes (wrapper em torno de pbuilder
?). Também existem ferramentas para construir a partir dos repositórios de git
, que eu não pesquisei.
UPD Fui informado sobre #debian-mentors
que " sbuild
se comporta da mesma forma que buildd
, menos surpresas", que " pbuilder
é o suporte para experimental é simplesmente errado ", que" OTOH sbuild
ainda erra alguma coisa para tirar a rede do processo de compilação ", e que pbuilder
não é mantido. A remoção da rede é necessária, pois a criação de pacotes não deve depender do fato de estar presente, eles não devem fazer o download de nada.
schroot
do experimental é supostamente capaz de isolar a rede (sem compartilhamento).