configure flags

6

Como o Ubuntu faz o download do código-fonte de um pacote e, em seguida, o constrói ao passar as sinalizações específicas para a parte configurada do processo? Espero que eu esteja explicando o que quero dizer corretamente.

A instalação a partir do código-fonte segue quase sempre o seguinte procedimento:

./configure --FLAG-1 --FLAG-2
make && make install

Como posso obter controle sobre a especificação de flags1 e 2 no processo de configuração?

    
por rantsh 12.09.2012 / 20:15

2 respostas

5

Você pode baixar a fonte para a maioria dos pacotes no Ubuntu Repos. Para compilar um pacote a partir do código-fonte, você faria algo assim:

sudo apt-get build-dep doodad

Isso instalará quaisquer dependências. Agora baixe o código fonte:

apt-get source doodad
cd doodad*

Edite o debian/rules para personalizar o processo de criação:

$EDITOR debian/rules

Por fim, construa-o como .deb (para fácil desinstalação / resolução de dependências):

dpkg-buildpackage -rfakeroot -uc -b

(os argumentos dirão o comando para falsificar root, para não assinar o pacote e para não incluir a fonte)

Agora você pode instalar o pacote que acabou de criar com este comando:

cd ..
sudo dpkg -i doodad-<version>-ubuntu-<crap>.deb

(não instale a versão -dev )

Então você pode limpar com:

rm -rf doodad*

Isso foi testado no Ubuntu 12.04, com o pacote irssi . Seus resultados podem variar.

    
por neersighted 12.09.2012 / 20:37
0

Para uma explicação geral sobre como criar a partir da fonte, veja minha resposta aqui:

Para resolver sua questão específica aqui sobre ./configure , leia:

Para obter uma lista dos flags e opções apropriadas disponíveis para o programa que você está compilando, digite

./configure --help

Parte de um arquivo de amostra para Pinta gerado a partir do comando acima:

% bl0ck_qu0te%

Você pode substituir as opções padrão especificando locais de pacotes ou bibliotecas se elas estiverem em locais não padrão ou tiver nomes diferentes dos que configure espera como este artigo mostrou. Para mais informações sobre sinalizadores, conforme usado no próprio script de configuração, consulte esta discussão aqui.

Ou se o programa não for instalado no local padrão (a /usr/local hierarchy) você pode especificar, por exemplo

./configure --prefix=/my/custom/location 

Existem muitas outras opções que podem ser usadas, e a lista de comandos passados para ./configure pode se tornar muito longa, mas é muito específica para o programa que você está compilando; muitas vezes não são necessárias opções especiais.

    
por user76204 12.09.2012 / 21:33