[devel] rpm macros

Ivan Zakharyaschev =?iso-8859-1?q?vanyaz_=CE=C1_mccme=2Eru?=
Вс Ноя 12 17:07:03 MSK 2000


On Sun, 12 Nov 2000, Mikhail Zabaluev wrote:

> > $ rpm --eval='%embrace a b'
> >
> > %embrace()          %brace
> > %brace()            begin %2 %1 end
> > результат: begin b a end
>
> То есть %*, %1, %2 передаются как есть макросу "со скобочками", если он
> подставляется без параметров? Бред, так быть не должно. Эти параметры
> должны быть локальными.

В какой-то документации был намек на то, что сходство параметров макросов
rpm с аналогичными вещами в shell обманчиво (там была какая-то мне мало
понятная фраза о том, что в %* попадают только еще не обработанные
параметры).

Вообще, мне кажется плохой идея создателей rpm создать свой
специализированный язык макроопределений, не во всем похожий на уже
существующие, которых и так много.

А как Вам вот такое: в ~/.rpmmacros все то же определение

%brace()            begin %2 %1 end

и получаем

$ rpm --eval='%{brace a b}'
begin b a end}
$

Я не знаю, что значит взятие чего-то в скобки, но одинокая правая скобка
выглядит очень странно. Если же убрать ее из исходного выражения, то rpm
начинает ругаться:
$ rpm --eval='%{brace a b'
Незакрытая {: {brace a b
  0< (пусто)

$

-- 
Best regards,
	Ivan Z.

_______________________________________________
Devel mailing list
Devel на linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel



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