В рассылке 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_<feature> с дополнительными обертками вида:
- %{use <feature>} – принимает значения 0 или 1,
- %{use_enable <feature> [<configure name> [<configure option>]]} – разворачивается в —disable-<feature> или —enable-<feature>.
Добавление опций такого вида в спек-файлы позволит собирать различные варианты дистрибутива из одних и тех же исходников.
Например, для минимизации дерева build-зависимостей можно будет использовать глобальный параметр %{use docs} отключающий сборку документации.
Задавать подходящий набор опций можно будет сконфигурировав сборочное окружение. Причем опции можно будет задать как глобально, так и переопределив отдельно по каждому пакету.
Предложение пока не принято и находится на стадии обсуждения.
അവലംബം: linux.org.ru