ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] макросы rpm в спеке
@ 2023-12-11 14:30 Aleksey Cheusov
  2023-12-11 16:40 ` Dmitry V. Levin
  0 siblings, 1 reply; 3+ messages in thread
From: Aleksey Cheusov @ 2023-12-11 14:30 UTC (permalink / raw)
  To: devel

Задача: определить макрос в СПЕКЕ ПАКЕТА! с одним параметром, который
принимал бы значение 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. Что я делаею не так?

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [devel] макросы rpm в спеке
  2023-12-11 14:30 [devel] макросы rpm в спеке Aleksey Cheusov
@ 2023-12-11 16:40 ` Dmitry V. Levin
  2023-12-11 17:32   ` Aleksey Cheusov
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry V. Levin @ 2023-12-11 16:40 UTC (permalink / raw)
  To: devel

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [devel] макросы rpm в спеке
  2023-12-11 16:40 ` Dmitry V. Levin
@ 2023-12-11 17:32   ` Aleksey Cheusov
  0 siblings, 0 replies; 3+ messages in thread
From: Aleksey Cheusov @ 2023-12-11 17:32 UTC (permalink / raw)
  To: devel

 >> Ожидаемое поведение: rpmspec должен упасть на строчке 3, поскольку
 >> %{enabled trtrtr} должен раскрыться в 0. Что я делаею не так?

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

Вот так работает. Спасибо.

1    %define disabled_lalala 1
2    %define myenabled() %{expand:%%{?disabled_%{1}:0}%%{!?disabled_%{1}:1}}
3    %{myenabled trtrtr}%{myenabled lalala}
4    fail here

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-12-11 17:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-11 14:30 [devel] макросы rpm в спеке Aleksey Cheusov
2023-12-11 16:40 ` Dmitry V. Levin
2023-12-11 17:32   ` Aleksey Cheusov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git