У розсилці 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