Como compilar fontes no rpmbuild BUILDROOT?

1

Todas as informações que eu posso encontrar sobre a criação de RPMs parecem ser anteriores ao CentOS 6, e como um novato completo em construção de pacotes rodando o CentOS 6.5, eu estou bem preso.

Todos os tutoriais que eu li mencionam um diretório BUILD e afirmam que durante o %install os arquivos são copiados de sua localização nativa ( /usr/bin/whatever ) e empacotados.

No entanto, na imagem do CentOS 6.5 que estou construindo, um novo diretório BUILDROOT aparece, o qual acho é projetado para evitar que você tenha que instalar os binários em seus locais nativos e, portanto, também evite o uso de sudo com make install .

No entanto, parece que isso não é opcional. Ao tentar empacotar várias fontes escritas por outras pessoas rpmbuild conclui o make install com êxito , mas depois morre quando não encontra os binários sob BUILDROOT , porque eles não foram instalados lá.

Depois de algumas pesquisas, parece que alguns Makefiles podem aceitar um argumento DESTDIR , mas apenas se o autor o suportar, e se eles não o tiverem, estou preso. Eu também li que é uma má idéia usar --prefix

Então, minha pergunta é:

Como posso criar e instalar quaisquer fontes de terceiros no local do BUILDROOT? Existe algo que o rpmbuild pode fazer por mim e que não exige a correção do código de outra pessoa que eu não entendo?

    
por Tim 21.04.2014 / 17:01

1 resposta

1

How can I build and install any third-party sources into the BUILDROOT location? Is there something rpmbuild can do for me [...]?

Não realmente. rpmbuild é essencialmente um wrapper e depende das instruções fornecidas pelo Makefile, etc. O ônus está no (s) desenvolvedor (es) da fonte, não no rpmbuild .

    
por 21.04.2014 / 18:12