VERWENDEN Sie Makros in RPM-Paketen

Veröffentlicht in der Fedora-Mailingliste Vorschlag um Makros in RPM-Spezifikationsdateien zu standardisieren, sodass Sie RPM-Paketen die Möglichkeit hinzufügen können, Kompilierungsflags und zusätzliche Abhängigkeiten in der Build-Phase auszuwählen.

Anwendungsbeispiel:

%if %{SSL verwenden}
BuildRequires: openssl-devel
%endif

% prep
%configure %{use_enable ssl openssl}

% prüfen
Test durchführen %{?_use_ssl:-DSSL}

In diesem Beispiel wird bei der Angabe des USE-Makros SSL in der Spezifikationsdatei eine zusätzliche Abhängigkeit vom Paket openssl-devel hinzugefügt, ein Konfigurationsschritt mit aktivierter Option --enable-openssl ausgeführt und die entsprechenden Tests durchgeführt wird während des Builds ausgeführt.

Es wird davon ausgegangen, dass die Build-Option durch das Binärmakro %_use_ angegeben wird. mit zusätzlichen Wrappern wie:

  • %{verwenden } – nimmt die Werte 0 oder 1 an,
  • %{use_enable [ [ ]]} – wird erweitert zu „deaktivieren-“ oder --aktivieren- .

Durch das Hinzufügen von Optionen dieses Typs zu Spezifikationsdateien können Sie verschiedene Versionen der Distribution aus denselben Quellen kompilieren.

Um beispielsweise den Build-Abhängigkeitsbaum zu minimieren, können Sie den globalen Parameter %{use docs} verwenden, der den Build der Dokumentation deaktiviert.

Sie können die entsprechenden Optionen festlegen, indem Sie die Build-Umgebung konfigurieren. Darüber hinaus können Optionen sowohl global als auch durch separate Neudefinition für jedes Paket festgelegt werden.

Der Vorschlag wurde noch nicht angenommen und wird derzeit diskutiert.

Source: linux.org.ru

Kommentar hinzufügen