Como criar um RPM para Suse

7

Eu preciso instalar a versão 1.4 do Subversion em uma caixa Suse 10.1 (64 bits). Eu não posso mudar nenhuma dessas duas versões e não há um RPM para esta distro. Depois de olhar em volta, suponho que terei que criar um RPM sozinho. Existe uma maneira melhor do que isso? Se não, alguém tem alguma dica sobre o processo?

Eu não preciso de um tutorial passo a passo, apenas um esboço básico do processo.

    
por Manos Dilaverakis 03.06.2009 / 13:20

8 respostas

8

Reconstruir um src.rpm existente é provavelmente o mais fácil. Eu definitivamente não segue o caminho do configure, make, make install porque (a) que não é escalável, (b) não provê fácil remoção / atualização do pacote e (c) não é atômico.

Construir um RPM não é tão difícil. Costumava haver um bom tutorial para iniciantes no Linux.com, antes que eles destruíssem o site. Você pode tentar este um , mas é um monte de texto, não é fácil de digerir. Ainda assim, é melhor que nada.

Eu vou te dar algumas dicas, fora de mim:

  1. configura um arquivo .rpmmacros em ~
  2. crie ~ / rpmbuild / {RPMS, SRPMS, especificações, CONSTRUÇÃO, CONSTRUÇÃO, FONTES}
  3. elimine o tarball de origem em ~ / rpmbuild / SOURCES
  4. derrube o (s) arquivo (s) de especificação em ~ / rpmbuild / SPECS
  5. execute rpmbuild -bp YOURSPEC em ~ / rpmbuild / SPECS (executa a fase de preparação)
  6. execute rpmbuild -bc YOURSPEC em ~ / rpmbuild / SPECS (acima e execute a fase de compilação)
  7. execute rpmbuild -bb YOURSPEC em ~ / rpmbuild / SPECS (acima e construa o pacote real)

Se tudo deu certo, o seu RPM terá aparecido em ~ / rpmbuild / RPMS / $ {arch}.

Eu costumo usar 5, 6 e 7 separadamente ao criar novos RPMs, porque gosto de inspecionar a saída em detalhes. Você pode querer ir para 7 imediatamente se tiver um specfile fornecido pelo fornecedor.

Eu costumo ter algo parecido com isso no meu .rpmmacros.

%_topdir /home/YOURNAME/rpmbuild
%packager YOUR NAME <[email protected]>
%_tmppath /tmp

Quanto à sintaxe do specfile: não é tão difícil. Existe uma obra de referência muito detalhada, seja ela muito antiga, chamada ' Maximum RPM '. Tudo o que você quer saber está lá.

por 03.06.2009 / 14:35
2

Como diz o wzzrd, tente reconstruir um SRPM existente.

A pesquisa pelo OpenSUSE 10.3 RPMS produz dois resultados interessantes:

Eu sei que 10.3 está longe de 10.1, mas é uma boa chance.

    
por 03.06.2009 / 14:46
2

O projeto OpenSuse oferece um serviço de criação que pode ajudá-lo a empacotar facilmente os RPMs não apenas para o OpenSuse / SLES, mas também para o Fedora / RHEL / CentOS, Debian, Ubuntu e Mandriva. Tudo de uma só vez.

    
por 05.11.2009 / 21:24
1

Se você realmente precisa e rpm para facilidade de gerenciamento de pacotes mais tarde, eu tentaria obter essa fonte rpm svn 1.4.0 fontes para SuSE 10.2 , instale, cd para / usr / src // especifique então rpm -bb subversion-1.4.0-31.spec.

Eu pessoalmente preferiria apenas obter a fonte do link e fazer o usual "configurar & fazer & fazer verifique & & sudo make install "dance.

    
por 03.06.2009 / 13:47
1

O método mais fácil seria encontrar um rpm de origem para uma distribuição semelhante. Você deve então poder reconstruir em sua distribuição. Eu acredito que existe um script chamado rpmbuild que fará a maior parte do trabalho para você.

Criar um RPM a partir do zero é provavelmente mais trabalho do que você quer fazer e mais envolvido do que pode ser descrito aqui.

    
por 03.06.2009 / 13:47
1

A menos que você precise distribuir isso para os outros, eu usaria apenas configure, make, make install. Eu normalmente defino o prefixo para algo como / opt ou / usr / local, e mantenho todos os tars originais em um diretório como / root / packages / então tenho uma trilha de auditoria razoável e sei o que instalei e, portanto, o que desinstalar.

    
por 03.06.2009 / 14:23
1

Eu já usei o checkinstall no passado e ele parecia funcionar muito bem. YMMV.

    
por 03.06.2009 / 16:27
0

O arquivo tar do subversion 1.4.0 também inclui arquivos de especificações para a criação de RPM's sob o RHEL3 / 4. Você deve ser capaz de usá-los para criar o RPM.

Mas, eu concordo com a resposta anterior, se não houver necessidade de substituir o RPM, basta fazer o padrão "configure & make & make install".

    
por 03.06.2009 / 13:51