USE-Makros in rpm-Paketen

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

60GB SSD 8Gb DDR4