USE-makra w pakietach rpm

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

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster