J'essaie d'écrire une seule spécification de rpm pour RHEL / CentOS / SL 5 et 6. Cette spécification est pour l'application python, il n'y a donc aucune différence dans le processus de construction. Mais sur RHEL / CentOS5, je dois ajouter une dépendance supplémentaire.
Comment définirais-je la dépendance uniquement pour el5? J'ai essayé de suivre:
%if 0%{?redhat} == 5 || 0%{?centos} == 5
Requires: kmod-coretemp
%endif
Ne fonctionne pas (construire sur CentOS5 n'ajoute pas de dépendance kmod-coretemp).
J'ai également essayé de suivre:
%if %{?dist} == "el5"
Il signale une erreur de syntaxe. Je suis sûr que la macro dist est définie et contient «el5». Mais je ne sais pas quelle est la syntaxe des conditions si en rpm? rpmguide n'a pas de réponse détaillée.
Le wiki Fedora, comme d'habitude, fournit les meilleures directives sur l'emballage. Jetez un œil à la page Packaging: DistTag . Vous pouvez utiliser la
%{el5}
variable et un raccourci conditionnel pour vous assurer que laRequire
ligne pertinente est utilisée lors de la création de packages pour EL5.Vous voudrez probablement ajouter la
dist
balise au champ de version pour éviter toute confusion ultérieure entre les packages:Voir But de la balise Dist .
la source
redhat-rpm-config
partir de Yum.