[devel] макросы rpm в спеке

Dmitry V. Levin ldv на altlinux.org
Пн Дек 11 19:40:56 MSK 2023


On Mon, Dec 11, 2023 at 06:30:29PM +0400, Aleksey Cheusov wrote:
> Задача: определить макрос в СПЕКЕ ПАКЕТА! с одним параметром, который
> принимал бы значение 0, если макрос "disabled_<параметр>" определен
> и 1 в противном случае.
> 
> Есть спека. Начинается она вот так:
> 
>  1    %define disabled_trtrtr 1
>  2    %define enabled() %{?disabled_%{1}:0}%{!?disabled_%{1}:1}
>  3    %{enabled trtrtr}
>  4    fail here
> 
> rpmspec на ней работает так:
> 
> 0 $ rpmspec -P mk-configure.spec
> error: line 4: Unknown tag: fail here
> 1 $
> 
> То есть, такое ощущение, что макрос %{enabled trtrtr}
> вообще ни во что не раскрывается.
> 
> Ожидаемое поведение: rpmspec должен упасть на строчке 3, поскольку
> %{enabled trtrtr} должен раскрыться в 0. Что я делаею не так?

disabled_%{1} не превратится в disabled_trtrtr без %{expand:...}.

> Мне не важно, что есть в альтовских конфигах для rpm. Мне нужно
> разобраться именно в этом примере и именно с макросами в спеке пакета.

И тем не менее там есть примеры того, как это сделать так, чтобы работало.


-- 
ldv


Подробная информация о списке рассылки Devel