În scrisoarea de informare Fedora a fost publicată propunerea o propunere pentru standardizarea macrocomenzilor în fișierele de specificație RPM, care permite adăugarea în pachetele RPM a opțiunilor de selectare a flagurilor de compilare și a dependențelor suplimentare în etapa de construcție.
Exemplu de utilizare:
%if %{use ssl}
BuildRequires: openssl-devel
%endif
%prep
%configure %{use_enable ssl openssl}
%check
make test %{?_use_ssl:-DSSL}
În acest exemplu, atunci când se specifică macrocomanda USE ssl în fișierul de specificație, se va adăuga o dependență suplimentară pentru pachetul openssl-devel, se va efectua un pas de configurare cu opțiunea —enable-openssl activată, iar în timpul construcției se vor efectua teste corespunzătoare.
Se presupune că opțiunea de construcție va fi specificată prin macrocomanda binară %_use_ cu wrapperi suplimentari de tip:
- %{use } – acceptă valori 0 sau 1,
- %{use_enable [ []]} – se extinde în —disable- sau —enable-.
Adăugarea unor opțiuni de acest tip în fișierele de specificație va permite construirea unor variante diferite ale distribuției din aceleași surse.
De exemplu, pentru minimizarea arborelui de dependențe de construcție, se va putea folosi parametrul global %{use docs} care dezactivează construcția documentației.
Setarea unui set adecvat de opțiuni se va putea face configurând mediul de construcție. Opțiunile pot fi specificate atât global, cât și redefinite separat pentru fiecare pachet.
Propunerea nu a fost acceptată deocamdată și se află în stadiul de discuție.
Sursa: linux.org.ru
