Les fichiers de spécifications rpm peuvent-ils être utilisés pour prendre en charge les versions packagées compatibles avec SIMD?

0

http://www.rpm.org/max-rpm/ch-rpm-multi.html indique clairement que RPM peut être utilisé pour cibler différentes plates-formes, mais est-il possible d'utiliser RPM pour cibler plusieurs saveurs différentes au sein d'une plate-forme?

Motivation: Quelque chose compilé pour fonctionner sur x86-64 à l'aide d'extensions AVX ne peut pas être exécuté sur du matériel x86-64 antérieur. Le nom du package peut spécifier que les indicateurs de compilation nécessaires ont été utilisés et que l'utilisateur peut installer le meilleur pour le matériel, mais il serait préférable de pouvoir renvoyer un tel problème au gestionnaire de packages. Sinon, on est obligé d'utiliser uniquement le support SIMD SSE2 au plus petit dénominateur commun et de gaspiller une grande partie du matériel de l'utilisateur.

Mabraham
la source

Réponses:

0

Vous pouvez créer un package RPM avec un logiciel compilé avec une extension activée. Ce n'est pas un problème. Cependant, vous ne pouvez pas utiliser / usr / bin / rpm pour gérer la restriction et choisir le meilleur package pour la plate-forme.

Mais l'utilisateur peut le faire.

Vous pouvez créer les packages:

Name: foo-general
Provides: foo

et puis un autre:

Name: foo-recent-amd-only
Provides: foo

Name: foo-recent-intel-only
Provides: foo

Chacun de ces packages peut être construit avec différents drapeaux de compilation. Ils peuvent même être compilés à partir d’un seul paquet source.

Donc, si un autre logiciel nécessite (ou installer par l'utilisateur) "foo", il peut choisir d'installer soit foo-general, foo-recent-amd-only ou foo-recent-intel-only

msuchy
la source