[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