W newsletterze Fedora opublikowano propozycja propozycję standaryzacji makr w plikach specyfikacji RPM, która umożliwia dodanie do pakietów RPM możliwości wyboru flag kompilacji oraz dodatkowych zależności na etapie budowy.
Przykład użycia:
%if %{use ssl}
BuildRequires: openssl-devel
%endif
%prep
%configure %{use_enable ssl openssl}
%check
make test %{?_use_ssl:-DSSL}
W tym przykładzie, przy ustawieniu makra USE ssl w pliku specyfikacji, zostanie dodana dodatkowa zależność na pakiet openssl-devel, zostanie wykonany krok konfiguracji z włączoną opcją —enable-openssl, a także podczas budowy będą wykonane odpowiednie testy.
Zakłada się, że opcja budowy będzie zadawana binarnym makrem %_use_<feature> z dodatkowymi opakowaniami typu:
- %{use <feature>} – przyjmuje wartości 0 lub 1,
- %{use_enable <feature> [<configure name> [<configure option>]]} – rozwija się w —disable-<feature> lub —enable-<feature>.
Dodanie opcji takiego rodzaju do plików specyfikacji umożliwi budowanie różnych wariantów dystrybucji z tych samych źródeł.
Na przykład, w celu zminimalizowania drzewa zależności build, można będzie użyć globalnego parametru %{use docs}, który wyłącza budowanie dokumentacji.
Odpowiedni zestaw opcji można będzie ustawić konfigurując środowisko budowy. Przy czym opcje można będzie ustawić zarówno globalnie, jak i nadpisując osobno dla każdego pakietu.
Propozycja nie została jeszcze przyjęta i znajduje się na etapie dyskusji.
Źródło: linux.org.ru
