USE-макрасы ў rpm-пакетах

У рассылцы 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

Дадаць каментар