Risposte:
Sì, molto facile farlo.
Scrivi e basta:
Requires: somepackage >= 0.5.0, somepackage < 0.6.0
nel tuo .spec
file.
Aggiunta di requisiti di versione
Quando un pacchetto ha esigenze leggermente più rigorose, è possibile richiedere determinate versioni di un pacchetto. È sufficiente aggiungere il numero di versione desiderato, preceduto da uno dei seguenti operatori di confronto:
Richiede un pacchetto con una versione inferiore alla versione specificata.
Richiede un pacchetto con una versione inferiore o uguale alla versione specificata.
Richiede un pacchetto con una versione uguale alla versione specificata.
Richiede un pacchetto con una versione uguale o maggiore della versione specificata.
Richiede un pacchetto con una versione successiva alla versione specificata.
Continuando con il nostro esempio, supponiamo che la versione richiesta della barra dei pacchetti debba effettivamente essere almeno 2.7 e che il pacchetto baz debba essere la versione 2.1 - nessun'altra versione lo farà. Ecco come dovrebbe apparire la tag tag richiesta: richiede: bar> = 2.7, baz = 2.1
Fonte: http://rpm.org/user_doc/more_dependencies.html
Il sistema sopra descritto funziona per la maggior parte dei pacchetti; tuttavia, se il pacchetto che si desidera richiedere viene fornito come [capacità virtuale] [1] o è altrimenti fornito (ovvero "Fornisce:" parola chiave) da pacchetti di nomi diversi (che non sono in conflitto tra loro), l'utente può finire con due diversi pacchetti installati, ognuno dei quali soddisfa individualmente uno dei tuoi requisiti. Ad esempio, se il file delle specifiche contiene:
Requires: postgresql-server >= 8.4, postgresql-server < 9.0
Può comportare (se si dispone di questi pacchetti disponibili per yum) l'installazione di:
Ma non verrà installato postgresql84-server, che è probabilmente il pacchetto che ci si sarebbe aspettati di aver installato.
(In questo caso la soluzione sarebbe semplicemente quella di richiedere postgresql84-server; tuttavia, ci sono probabilmente altri esempi che non hanno una soluzione semplice.)
Non è chiaro per me se stai cercando di creare un pacchetto o installare un pacchetto e "limitare" le sue dipendenze.
Non vedo un modo per creare il secondo caso senza ricostruire il pacchetto.
È possibile recuperare l'SRPM e modificare il file delle specifiche e per aggiungere / modificare la voce Richiede (vuoi un pacchetto 0.5.x, vero?) In qualcosa del genere:
Requires: somepackage = 0.5.0
e poi ricostruire con
rpmbuild -bb -v yourpackage.spec
Se non l'hai mai fatto, sembra intimidatorio ma risolve il tuo problema. Tieni presente che se stai creando un pacchetto pubblico per una distro, potresti voler leggere la sua guida perché impostare la dipendenza in questo modo non è generalmente raccomandato.