O que usar para construir pacotes do Ubuntu / Debian?

1

Eu inspecionei diferentes manuais e guias sobre como criar pacotes recentemente. E parece haver um lote de maneiras pode-se ir sobre . Então estou um pouco confuso sobre o que exatamente usar. Isso é que estou tentando ver toda a imagem. Quais ferramentas existem? Quais são as relações entre eles? Quais são os invólucros para os quais? Quais são mais adequados para o que? Por exemplo, apt-get source é provavelmente que segmenta principalmente usuários, não desenvolvedores. A melhor alternativa deve ser dget . Quais são as alternativas para as quais? Para citar alguns, existem pbuilder , pdebuild , pbuilder-dist , cowbuilder , sbuild , debuild , dpkg-buildpackage , fakeroot . E deve haver muito mais que eu nem conheço. Quais são os fluxos de trabalho mais comuns?

    
por x-yuri 30.05.2015 / 12:26

2 respostas

1

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.

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).

    
por x-yuri 30.05.2015 / 13:04
1

Você não fala muito sobre seu ambiente de origem.

Se for código aberto e apenas um projeto (um arquivo de controle no diretório debian/ ), o link é uma solução realmente boa. Mais ou menos, você precisa acertar os arquivos e eles cuidam do resto.

Obter os arquivos certos é um pouco mágico para mim, mesmo agora, mas há uma infinidade de documentação sobre como criar um pacote. Você pode começar com um exemplo muito simples que funcione e, em seguida, reserve um tempo para adicionar outras opções / recursos à medida que avança. Dessa forma, você não precisa aprender todos os meandros de uma só vez.

    
por Alexis Wilke 25.07.2016 / 01:29