Respostas:
Sim, é muito fácil fazê-lo.
Apenas escreva:
Requires: somepackage >= 0.5.0, somepackage < 0.6.0
no seu .spec
arquivo.
Adicionando requisitos de versão
Quando um pacote tem necessidades um pouco mais rigorosas, é possível exigir determinadas versões de um pacote. Tudo o que é necessário é adicionar o número da versão desejada, precedido por um dos seguintes operadores de comparação:
Requer pacote com uma versão menor que a versão especificada.
Requer pacote com uma versão menor ou igual à versão especificada.
Requer pacote com uma versão igual à versão especificada.
Requer pacote com uma versão igual ou superior à versão especificada.
Requer pacote com uma versão maior que a versão especificada.
Continuando com o nosso exemplo, vamos supor que a versão exigida da barra de pacotes realmente precise ser pelo menos 2,7 e que o pacote baz deve ser a versão 2.1 - nenhuma outra versão servirá. Aqui está como seria a linha de tag de requisitos: require: bar> = 2.7, baz = 2.1
Fonte: http://rpm.org/user_doc/more_dependencies.html
O sistema descrito acima funciona para a maioria dos pacotes; no entanto, se o pacote que você deseja exigir for fornecido como uma [capacidade virtual] [1] ou for fornecido de outra forma (por exemplo, "Fornece:" palavra-chave)) por pacotes de nomes diferentes (que não entrem em conflito), você pode acabar com dois pacotes diferentes instalados, cada um deles satisfazendo individualmente um de seus requisitos. Por exemplo, se o seu arquivo de especificação contiver:
Requires: postgresql-server >= 8.4, postgresql-server < 9.0
Pode resultar em (se você tiver esses pacotes disponíveis para o yum) a instalação de:
Mas não instalará o postgresql84-server, que é provavelmente o pacote que você esperaria ter instalado.
(Nesse caso, a solução seria simplesmente exigir o postgresql84-server; no entanto, provavelmente existem outros exemplos que não têm uma solução fácil.)
Não está claro para mim se você está tentando criar um pacote ou instalar um pacote e "limitar" suas dependências.
Não vejo uma maneira de apresentar o segundo caso sem reconstruir o pacote.
Você pode recuperar o SRPM e editar o arquivo de especificações e adicionar / modificar a entrada Requer (você deseja algum pacote 0.5.x, não é?) Para algo assim:
Requires: somepackage = 0.5.0
e depois reconstrua com
rpmbuild -bb -v yourpackage.spec
Se você nunca fez isso, parece intimidador, mas resolve o seu problema. Lembre-se de que, se você estiver criando um pacote público para uma distribuição, talvez queira ler sua diretriz, pois a dependência definida dessa maneira geralmente não é recomendada.