É possível modificar / reconstruir um rpm sem o srpm?

6

Eu tenho um rpm para o qual eu preciso alterar o scriptlet preinstal para testes.

No entanto, eu não tenho o SRPM do qual ele foi construído.

É possível alterar o scriptlet e / ou reconstruir o rpm sem ter o SRPM?

Se sim, como?

Eu tentei usar o Midnight Commander ( mc ) para abrir o rpm como uma estrutura de diretório e editar o conteúdo, mas mesmo com 666 permissões, ele não me permitirá salvar nenhuma alteração.

    
por warren 21.04.2010 / 14:45

1 resposta

22

O que é necessário é o rpmrebuild , que eu encontrei através da Red Hat Magazine artigo .

Se você tem um rpm para o qual você deseja modificar apenas o arquivo de especificação, faça o seguinte:

  1. copie o rpm em questão para um diretório de trabalho
  2. execute rpmrebuild -e -p <pkg>rpm (isso abrirá seu editor padrão (normalmente vi|vim se você não tiver feito nenhuma alteração em sua distribuição baseada em rpm), permitindo que você faça alterações no arquivo de especificação )
  3. encontre a (s) linha (s) que você deseja alterar
  4. faça alterações
  5. salve e saia do seu editor ( Esc : w q ! em vi[m] , Ctrl- x s em emacs )
  6. rpmrebuild perguntará se você deseja continuar
  7. responda 'sim'
  8. o pacote recriado será exibido em /usr/src/redhat/RPMS/<arch>/<pkg>.rpm
por 21.04.2010 / 15:06