Editando o arquivo de especificações no RPM

2

Estou tentando editar um arquivo de especificações que sempre falha quando tento instalá-lo em outro computador usando o RPM. Estou usando o CentOS. Aqui está o erro.

error: Failed dependencies:
perl(ActsUtil) is needed by my_program
perl(ParseBishop) is needed by my_program

Esses dois arquivos são dependências do RPM. A coisa é, esses dois arquivos são realmente fornecidos dentro do pacote RPM. Esses dois arquivos são arquivos .pm e estão localizados dentro de /opt/mysoftware/bin . Eu sei que isso pode ser resolvido usando rpm - ivh --nodeps mysoftware . Mas eu não prefiro usar esse método. Então, eu tentei consertar o arquivo de especificações. Aqui estão alguns dos códigos que eu tentei.

1ª tentativa

Summary:....
Name:..
Version:..
....
....
Provides: perl(ParseBishop), perl(ActsUtil)
...
...
%install
...
...
%changelog

2ª tentativa

Summary:....
Name:..
Version:..
....
....
Provides: ParseBishop, ActsUtil
...
...
%install
...
...
%changelog

3ª tentativa

Summary:....
Name:..
Version:..
....
....
Provides: ParseBishop.pm, ActsUtil.pm
...
...
%install
...
...
%changelog

quarta tentativa

Summary:....
Name:..
Version:..
....
....
Provides: /opt/mysoftware/bin/ParseBishop, /opt/mysoftware/bin/ActsUtil
...
...
%install
...
...
%changelog

Estou fazendo o comando "Fornece" errado? Ou a minha abordagem para resolver o problema já está errada?

    
por Mohd Fikrie 24.10.2013 / 06:14

3 respostas

1

Eu encontrei a solução. O problema foi o meu Provides estão na área errada. É suposto estar no topo do código.

Summary:....
Name:..
Version:..
Provides: perl(ParseBishop), perl(ActsUtil)
...
...
%install
...
...
%changelog

Para verificar isso. Eu usei rpm -qp --provides mysoftware.rpm dentro da pasta interna. Ele exibirá o que é fornecido pelos meus pacotes. Obrigado por toda a ajuda.

    
por 25.10.2013 / 04:04
0
rpm -i --nodeps my_program.rpm

ignoraria qualquer prolema de dependência.

    
por 24.10.2013 / 08:00
0

PreReq?

Gostaria de saber se você precisa listá-los como PreReqs ?

Prereqs are different from requires only in that a PreReq is guaranteed to be installed before the package that contains the PreReq. PreReq's are used only to order packages, otherwise PreReq's are exactly the same as a Requires: dependency.

fonte: link

Exemplo

PreReq: perl(ActsUtil), perl(ParseBishop)

Requer

Se esses módulos Perl são de fato necessários para a instalação deste RPM, eles não precisariam estar na linha Requires e não Provides ?

Exemplo

Requires: perl(ParseBishop), perl(ActsUtil)

Apenas arquivos?

Se forem apenas arquivos .pm que você está fornecendo como parte da instalação, esses arquivos não precisarão ser listados em qualquer lugar, exceto nos RPMs install & manifesto.

Outros RPMs que dependem deles, então, exigem apenas esse RPM.

    
por 24.10.2013 / 09:06