2016-06-30 15 views
1

Ich erstelle ein RPM, das eine Anforderung für ein anderes Paket mit der Versionsnummer in der Mitte des Paketnamens hat.rpm spec Benötigt Platzhalter in Paketname

Zum Beispiel softwarepackage10.1-util-10.1.1.x86_64.rpm. Der Name würde sich mit der nächsten Version ändern, zum Beispiel softwarepackage11.2-util-11.2.1.x86_64.rpm.

Ich habe keine Kontrolle über das andere Paket.

Ich muss eine Requires Zeile für dieses Paket mit jeder Version >= 10 angeben.

Kann ich angeben, wie ?:

Requires: softwarepackage*-util >= 10

Antwort

1

Nein folgt, wird es nicht mit einem Platzhalter arbeiten wie Sie erwähnt haben. Wenn Sie versuchen, das Paket zu installieren, wird es in so etwas wie das folgende Ergebnis:

]# rpm -ivh mypackage.rpm --test 
error: Failed dependencies: 
     softwarepackage-*-util is needed by mypackage 

softwarepackage-* sollte entsprechend benannt werden, aber wenn es eine Einschränkung ist, dann in der Datei rpm spec, können Sie definieren .

% define softwarepackage_major_version 10 
% define softwarepackage_minor_version 1 

Alternative können Sie eine binäre verwenden, das Softwarepaket * -util bietet, und verwenden, die statt und lassen Sie den Paket-Manager die Version und Konflikte zu lösen.

Requires: /usr/bin/binary-from-softwarepackge 
+0

Könnten Sie bitte erweitern, wie Sie die #define-Makros später verwenden würden? – retrodev