[devel] rpm macros

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Сен 11 08:00:06 MSD 2006


On Sun, Sep 10, 2006 at 10:59:13PM +0400, Alexey Tourbin wrote:
> Вопрос по brainfuck^W rpm macros.
> 
> Я хочу один раз подменить __find_requires и __find_provides, отдав в
> качестве аргумента новому значению текущее значение:
> 
> %fpc_global()	%{?!fpc_%1:%{expand:%%global %1 %2 %%%1%%global fpc_%1 %2}}

%fpc_global()	%{expand:%%{?!fpc_%1:%%global %1 %2 %%%1%%global fpc_%1 %2}}

Так работает.  По-видимому имя переменной в ?! не может содержать ещё
одну меременную, примерно как в шелле.  Значт, нужен ещё один eval.

> %fpc_macro	%([ -x %_rpmlibdir/fpc2.req ])%{fpc_global __find_requires %_rpmlibdir/fpc2.req}%{fpc_global __find_provides %_rpmlibdir/fpc2.prov}
> %fpc_dir	%fpc_macro%_libdir/fpc2
> %fpc_make	make RELEASE=1 CREATESMART=1 LINKSMART=1 FPCDIR=%fpc_dir
> 
> К сожалению аргументы накапливаются в цикле:
> 
> $ rpm --eval $'%fpc_dir\n%fpc_make\n%__find_requires'           
> /usr/lib/fpc2
> make RELEASE=1 CREATESMART=1 LINKSMART=1 FPCDIR=/usr/lib/fpc2
> /usr/lib/rpm/fpc2.req /usr/lib/rpm/fpc2.req /usr/lib/rpm/find-requires
> $
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060911/cf7961b1/attachment-0001.bin>


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