Compilando a origem em um pacote DEB

34

Sempre tive um problema ao instalar e remover o software compilado, por isso decidi que gostaria de compilar o software da fonte em um pacote .deb para facilitar a instalação / remoção.

Gostaria de conhecer uma maneira fácil e curta de compilar o código-fonte em um pacote .deb, como usuário final .

Eu tentei:

Ashu
fonte
1
O Ubucompilator é um projeto interessante, e aplaudo seus esforços até o momento. No entanto, como você descobriu, ele fornece apenas um front-end da GUI para quatro ou cinco comandos de baixo nível. E NÃO, você não pode usá-lo para criar facilmente um pacote '.deb' adequado.
David6 23/05

Respostas:

47

O checkinstall faz o que você deseja obter: ele monitora quais arquivos são instalados e os coloca em um pacote .deb, que pode ser instalado e removido

Instale-o com

apt-get install checkinstall

então você faz a instalação normal do procedimento de origem, substituindo 'sudo make install' por 'sudo checkinstall':

  ./configure
  make
  sudo checkinstall

Referência: https://help.ubuntu.com/community/CheckInstall

Floyd
fonte
9

Temos um Guia de Empacotamento realmente bom, que possui uma seção sobre o tópico de novos pacotes .

tumbleweed
fonte
1
Eu recomendo este link, pois contém todas as informações que alguém precisaria. Além disso, se houver alguma dúvida específica, talvez eu possa ajudá-las, mas não para explicar todo o procedimento de criação de um pacote debian a partir da fonte.
Thomas Ward
@ppumkin: atualizado.
o amaranto
6

Eu usei o make checkinstallcomando em várias ocasiões para criar um .debpacote em uma máquina para ser instalado nos meus outros servidores. É uma maneira rápida de instalar uma versão beta. Funciona, mas deve ser usado com cautela. Existem armadilhas para o usuário que não entende as muitas funções do .debpacote.

Eu tenho vinte e alguns servidores que usam os mesmos aplicativos criados em casa. Adicionar o suporte de compilação e o compilador a cada host não é tão difícil.

Digitar os comandos para baixar e compilar uma nova versão vinte vezes é demorado. A alternativa é fazer upload de um script para executar a tarefa e, em seguida, executar o script. Mas geralmente é mais fácil atualizar aplicativos usando o .debarquivo criado com checkinstall.

C Schuman
fonte
0

A tarefa de empacotar um pedaço aleatório de código de software em um .deb é bastante complicada se o software já não estiver nessa forma, especialmente se comparado a apenas make, make install. Se você quer que as coisas sejam mais simples, acho que você está indo na direção errada.

Não estou dizendo que você não pode fazer isso - os desenvolvedores do Debian fazem muito isso. Mas não parece ser a maneira mais simples de fazer o que você deseja.

Talvez você deva se concentrar mais em aprender como a compilação e instalação de software da fonte "funciona". A seu favor está o fato de que tudo o que você instalou deve terminar em / usr / local

thomasrutter
fonte
obrigado pela sugestão, mas eu já sei sobre a compilação de softwares, eu silenciei alguns deles compilados no meu sistema. A única coisa que acho difícil é atualizá-los ou removê-los. Então i embora um arquivo deb seria mais útil
Ashu
A razão pela qual um pacote deb pode atualizar-se ou remover-se sem problemas é que alguém tem scripts escritos cuidadosamente para isso, para cada pacote. Além disso, eles tiveram que adicionar muitos outros metadados descritivos que o dpkg pode usar para determinar o que são arquivos. Você terá seu trabalho cortado para você.
thomasrutter
1
Na verdade, basta ir com a resposta de Floyd. Parece uma solução muito melhor em geral, se ele realmente faz o que diz que faz!
thomasrutter
Sim. A solução de Floyd é ótima. Especialmente agora, é extremamente maduro. Agora não preciso construir a partir da fonte em muitos servidores. :)
Jack_Hu 17/10