Eu normalmente começo com um Minimal Centos 7 e corro
yum install java-1.8.0-openjdk
para instalar um Java Runtime Environment. Isso funciona perfeitamente, pois sou capaz de executar arquivos JAR.
Agora estou tentando criar um arquivo de especificação RPM que usa a cláusula " Requires " para empacotar dependências como:
Requires: jre-headless = 1.8
No entanto, quando eu faço
yum install my-rpm-1.0.0.el7.x86_64.rpm
Recebo mensagens de erro que se parecem com:
Available: 1:java-1.8.0-openjdk-headless-1.8.0.272.b10-1.el7_9.i686
Available: 1:java-11-openjdk-headless-11.04.11-0.el7_6.i686
Not found
You could try using --skip-broken to work around this problem
You could try running: rpm -Va --nofiles --nodigest
Alguém sabe o que está errado com a minha cláusula "Requires:" no meu arquivo de especificações? Eu só quero que o arquivo spec faça automaticamente "yum install java-1.8.0-openjdk" através da cláusula "Requires".
Acho que nada oferece
jre-headless = 1.8
. Vamos dar uma olhada nos pacotes virtuais disponíveis:Então você poderia escrever:
1.8
não é suficiente devido ao número de época envolvido no nome da versão do pacote (o1:
prefixo engraçado);se em vez disso
1:1.8.0
for usado, isso deve satisfazer a resolução de dependência: