Réponses:
Oui, très facile à faire.
Ecrivez:
Requires: somepackage >= 0.5.0, somepackage < 0.6.0
dans votre .spec
fichier.
Ajout d'exigences de version
Lorsqu'un package a des besoins légèrement plus stricts, il est possible d'exiger certaines versions d'un package. Il suffit d'ajouter le numéro de version souhaité, précédé de l'un des opérateurs de comparaison suivants:
Nécessite un package avec une version inférieure à la version spécifiée.
Requiert un package avec une version inférieure ou égale à la version spécifiée.
Nécessite un package avec une version égale à la version spécifiée.
Nécessite un package avec une version égale ou supérieure à la version spécifiée.
Nécessite un package avec une version supérieure à la version spécifiée.
En continuant avec notre exemple, supposons que la version requise de la barre de packages doit en fait être au moins 2,7 et que le package baz doit être la version 2.1 - aucune autre version ne fera l'affaire. Voici à quoi ressemblerait le slogan require: require: bar> = 2.7, baz = 2.1
Source: http://rpm.org/user_doc/more_dependencies.html
Le système décrit ci-dessus fonctionne pour la plupart des packages; cependant, si le package dont vous souhaitez avoir besoin est fourni en tant que [capacité virtuelle] [1] ou est fourni (par exemple, "Fournit:" mot-clé) par des packages de noms différents (qui n'entrent pas en conflit les uns avec les autres), alors vous peut se retrouver avec deux packages différents installés, chacun répondant individuellement à l'une de vos exigences. Par exemple, si votre fichier de spécifications contient:
Requires: postgresql-server >= 8.4, postgresql-server < 9.0
Peut entraîner (si vous disposez de ces packages pour yum) l'installation de:
Mais n'installera pas postgresql84-server, qui est probablement le package que vous vous attendiez à avoir installé.
(Dans ce cas, la solution serait simplement d'exiger postgresql84-server; cependant, il existe probablement d'autres exemples qui n'ont pas de solution facile.)
Ce n'est pas clair pour moi si vous essayez de construire un package ou d'installer un package et de "limiter" ses dépendances.
Je ne vois pas de moyen de faire le deuxième cas sans reconstruire le paquet.
Vous pouvez récupérer le SRPM et éditer le fichier de spécifications et ajouter / modifier l'entrée Requiert (vous voulez un paquet 0.5.x, n'est-ce pas?) À quelque chose comme ceci:
Requires: somepackage = 0.5.0
puis reconstruire avec
rpmbuild -bb -v yourpackage.spec
Si vous ne l'avez jamais fait, cela semble intimidant, mais cela résout votre problème. Gardez à l'esprit que si vous créez un package public pour une distribution, vous voudrez peut-être lire son caractère pratique car la dépendance définie de cette manière n'est généralement pas recommandée.