Opublikowano na liście mailingowej Fedory propozycja do standaryzacji makr w plikach specyfikacji RPM, umożliwiając dodanie do pakietów RPM możliwości wyboru flag kompilacji i dodatkowych zależności na etapie kompilacji.
Przykład użycia:
%if %{użyj protokołu SSL}
BuildRequires: openssl-devel
%endif
% prep
%configure %{use_enable ssl openssl}
% czek
wykonaj test %{?_use_ssl:-DSSL}
W tym przykładzie, podając makro USE ssl w pliku spec, zostanie dodana dodatkowa zależność od pakietu openssl-devel, zostanie wykonany krok konfiguracyjny z włączoną opcją --enable-openssl i zostaną wykonane odpowiednie testy wykonywane podczas kompilacji.
Zakłada się, że opcja budowania zostanie podana przez makro binarne %_use_ z dodatkowymi opakowaniami takimi jak:
- %{używać } – przyjmuje wartości 0 lub 1,
- %{use_enable [ [ ]]} – rozwija się do —wyłącz- lub --włącz- .
Dodanie opcji tego typu do plików specyfikacji umożliwi kompilację różnych wersji dystrybucji z tych samych źródeł.
Na przykład, aby zminimalizować drzewo zależności kompilacji, możesz użyć parametru globalnego %{use docs}, który wyłącza kompilację dokumentacji.
Można ustawić odpowiedni zestaw opcji, konfigurując środowisko kompilacji. Co więcej, opcje można ustawić zarówno globalnie, jak i redefiniując je osobno dla każdego pakietu.
Propozycja nie została jeszcze przyjęta i jest przedmiotem dyskusji.
Źródło: linux.org.ru