Dado um pacote fonte debian - Como instalo o build-deps?

37

Eu tenho um pacote fonte debian (bem tecnicamente ubuntu), ou seja, o .dsc, o .tar.gz, etc., eu quero construir isso. O dpkg-buildpackage falha, pois não tenho todas as dependências de construção.

Normalmente eu usaria apt-get build-dep , mas este pacote não está no apt.

Existe uma maneira 'limpa', 'apropriada' para instalar todas as dependências de compilação, dado um pacote de origem. Eu sei que poderia simplesmente abrir o arquivo debian / control, mas estou curioso para saber se existe uma maneira 'correta'.

Eu instalei build-essential , e tenho todos os compiladores normais, etc., este pacote requer software extra.

    
por Rory 30.03.2010 / 13:09

5 respostas

7

Na verdade, posso usar dpkg-checkbuilddeps , que mostra as dependências de construção. Isso me deixa 99% do que eu preciso

    
por 30.03.2010 / 15:43
27

Use mk-build-deps , que faz parte de devscripts .

    
por 30.03.2010 / 15:50
8

Aqui está um exemplo de fluxo de trabalho usando a sugestão de ptman.

Supondo que você tenha baixado o arquivo .dsc , o arquivo .orig.*z e talvez também um arquivo .debian.*z , descompacte o pacote fonte com:

dpkg-source -x [package_name]_[package_version].dsc

Mova-se para a pasta de origem extraída e execute:

sudo mk-build-deps -i

Isto irá criar o arquivo [package_name]-build-deps_[version].deb e instalá-lo, além de instalar todas as dependências que ele sugere.

Agora você deve conseguir criar seu pacote a partir da fonte:

debuild

Quando terminar, você poderá remover facilmente as dependências que foram extraídas, removendo o pacote build-deps que você gerou:

sudo apt-get purge --auto-remove [package_name]-build-deps
    
por 24.12.2016 / 09:07
6

Eu costumo usar debuild de devscripts para criar pacotes e, se for relevante, ele imprime uma linha dos build-deps ausentes.

A maneira "correta" é usar pbuilder ou similar, o que criará o pacote em um mínimo chroot , e apenas instalará qualquer build-deps adicional como especificado pelo pacote, isso também remove um monte de outros potenciais problemas (instalações locais de bibliotecas não-empacotadas, por exemplo).

    
por 02.04.2010 / 08:53
-6

Tente:

apt-get install build-essential
    
por 30.03.2010 / 13:13