У рассылцы Fedora апублікавана прапанову па стандартызацыі макрасаў у спек-файлах RPM, якое дазваляе дадаць у RPM-пакеты магчымасць выбару сцягоў кампіляцыі і дадатковых залежнасцяў на этапе зборкі.
Прыклад выкарыстання:
%if %{use ssl}
BuildRequires: openssl-devel
%endif
% падрыхтоўчых
%configure %{use_enable ssl openssl}
% праверкі
make test %{?_use_ssl:-DSSL}
У гэтым прыкладзе пры заданні USE-макраса ssl у спек-файле будзе дададзеная дадатковая залежнасць на пакет openssl-devel, будзе выкананы крок канфігурацыі з уключанай опцыяй -enable-openssl, а таксама пры зборцы будуць выкананы адпаведныя тэсты.
Мяркуецца, што опцыя зборкі будзе задавацца бінарным макрасам %_use_ з дадатковымі абгорткамі выгляду:
- %{use } – прымае значэння 0 ці 1,
- %{use_enable [ [ ]]} – разгортваецца ў -disable- ці -enable- .
Даданне опцый такога выгляду ў спэк-файлы дазволіць збіраць розныя варыянты дыстрыбутыва з адных і тых жа зыходнікаў.
Напрыклад, для мінімізацыі дрэва build-залежнасцяў можна будзе выкарыстаць глабальны параметр %{use docs} які адключае зборку дакументацыі.
Задаваць прыдатны набор опцый можна будзе сканфігураваўшы зборачнае асяроддзе. Прычым опцыі можна будзе задаць як глабальна, так і перавызначыўшы асобна па кожным пакеце.
Прапанова пакуль не прынята і знаходзіцца на стадыі абмеркавання.
Крыніца: linux.org.ru