rpmbuild% {dist} nicht auf CentOS 5.5 definiert?
Ich bin versucht, die %{dist}
tag in meinem RPM-spec-Datei zu liefern Verteilung-spezifische Abhängigkeiten zwischen Fedora Core (z.B. fc12
), CentOS 5 (z.B. el5
) und Amazon Linux AMI:
Release: %_svn_revision%{?dist}
und
# Depencencies
%{?rhel:Requires: ...}
%{?fedora:Requires: ...}
Leider %{dist}
scheint nicht definiert werden-CentOS-5.5, und ich habe nicht gefunden ein distributions-spezifisch bedingte, dass Spiele-CentOS-5.5 - (ich dachte el5
würde passen, aber nicht angezeigt werden). Diese ticket gemeldet, die fehlenden %{dist}
in CentOS im Jahr 2008, aber wurde nicht aktualisiert seit 2009.
Wie bekomme ich %{dist}
definiert in CentOS und was bedingte sollte ich verwenden, um übereinstimmen CentOS 5?
Können alle RPM-gurus zeigen Sie mich in die richtige Richtung?
InformationsquelleAutor der Frage Barry Wark | 2011-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den dist-Makros nicht definiert auf CentOS 5, weil es nicht in
/etc/rpm/macros.disttag
- es ist ein RPM namensbuildsys-macros-rhel
zur Verfügung stellt, oderbuildsys-macros
auf fedora, aber aus irgendeinem Grund ist es nicht neu verpackt von Centos.Option 1) Herunterladen und installieren fedora-build-Makros aus hier
Option 2) rufen rpmbuild --define 'dist .el5' jedes mal, wenn
Option 3) Manuelles Bearbeiten von /etc/rpm/macros.disttag hinzufügen makro-Definitionen für rhel (5) und dist (.el5).
Können Sie dann die Bedingungen, wie diese in Ihre spec-Datei:
InformationsquelleAutor der Antwort ggiroux
Weitere option ist, rufen Sie das Skript in Ihrem eigenen makro in der spec-Datei:
fordert ein script, das Teil der config rpm (redhat-rpm-config). Sie können auch versichern, dass dieses Skript ist es, durch die Einbeziehung:
und dann das gleiche tun für bedingte als ggiroux definiert hat:
InformationsquelleAutor der Antwort hughmcmanus