Qual é a maneira mais simples de construir um RPM binário a partir de uma verificação de código-fonte com um arquivo .spec

1

Eu tenho um checkout de uma árvore de código fonte ( link , para os curiosos) que contém um .spec arquivo para construir um pacote RPM. Minha pergunta é: qual é a maneira mais simples de construir o RPM binário a partir dessa árvore de código-fonte? No mundo Debian, eu apenas executaria debian/rules binary dentro da árvore de fontes. Existe um equivalente que está perto de ser tão fácil no mundo do RPM?

    
por Christian Hudon 12.09.2014 / 19:49

1 resposta

2

A maneira mais simples é usar rpmbuild .

rpmbuild <spec file> é o equivalente ao RPM de fakeroot debian/rules binary .

Fedora

Antes de sua primeira compilação, você precisa preparar seu sistema de compilação uma vez instalando o grupo Ferramentas de desenvolvimento:

# yum install @development-tools

então:

# yum install fedora-packager

Como usuário (nunca como root), crie seu ambiente de criação:

$ rpmdev-setuptree

Isso cria uma árvore de diretórios:

~/rpmbuild
       ├── BUILD
       ├── BUILDROOT
       ├── RPMS
       ├── SOURCES
       ├── SPECS
       └── SRPMS

Para criar:

Seu arquivo spec entra no diretório SPECS e suas origens em SOURCES .

Você, então, muda para o diretório SPECS e executa rpmbuild <spec file> .

Claro, há muito mais do que o acima. Detalhes estão disponíveis no Wiki do Fedora

RedHat ou CentOS

A mesma ferramenta ( rpmbuild ) é usada nessas distros, mas o processo e os pacakges necessários são um pouco diferentes. Detalhes para o CentOS estão no CentOS Wiki .

Serviço Copr

Este é um serviço de criação fornecido pelo Fedora que permite que você carregue arquivos RPM ( srpm ) e deixe o serviço construí-lo para qualquer alvo (por exemplo, RedHat / CentOS ou Fedora). Você ainda precisa empacotar a fonte e o arquivo spec , mas isso evita que você instale todas as ferramentas de compilação e as bibliotecas dev necessárias em seu sistema local.

    
por 12.09.2014 / 20:40

Tags