In der Fedora-Veröffentlichung wurde veröffentlicht Vorschlag zur Standardisierung von Makros in RPM-Spezifikationsdateien, die es ermöglichen, in RPM-Pakete die Möglichkeit zur Auswahl von Compiler-Flags und zusätzlichen Abhängigkeiten in der Build-Phase hinzuzufügen.
Beispiel für die Verwendung:
%if %{use ssl}
BuildRequires: openssl-devel
%endif
%prep
%configure %{use_enable ssl openssl}
%check
make test %{?_use_ssl:-DSSL}
In diesem Beispiel wird bei der Angabe des USE-Makros ssl in der Spezifikationsdatei eine zusätzliche Abhängigkeit zum Paket openssl-devel hinzugefügt, die Konfigurationsstufe wird mit der Option —enable-openssl ausgeführt, und auch entsprechende Tests werden während des Builds durchgeführt.
Es wird davon ausgegangen, dass die Build-Optionen über das binäre Makro %_use_ mit zusätzlichen Wrappern wie folgt angegeben werden:
- %{use } – nimmt die Werte 0 oder 1 an,
- %{use_enable [ []]} – wird zu —disable- oder —enable- ausgeweitet.
Die Hinzufügung solcher Optionen zu Spezifikationsdateien ermöglicht es, verschiedene Varianten eines Distributionspakets aus denselben Quellcodes zu erstellen.
Zum Beispiel kann ein globaler Parameter %{use docs} verwendet werden, um den Bau der Dokumentation zu deaktivieren, um den Baum der Build-Abhängigkeiten zu minimieren.
Ein passendes Set von Optionen kann konfiguriert werden, indem die Build-Umgebung angepasst wird. Dabei können die Optionen sowohl global als auch spezifisch für jedes Paket überschrieben werden.
Der Vorschlag ist noch nicht angenommen und befindet sich in der Diskussionsphase.
Quelle: linux.org.ru
