[devel] rpm macros
Mikhail Zabaluev
=?iso-8859-1?q?mookid_=CE=C1_sigent=2Eru?=
Пн Ноя 13 02:13:10 MSK 2000
Hello Ivan,
On Sun, Nov 12, 2000 at 17:07 +0300, Ivan Zakharyaschev wrote:
>
> 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}
Явный глюк. Фигурные скобки используются, чтобы явно заключать имя и
параметры макроса в объемлющем тексте.
--
Stay tuned,
MhZ mailto:mookid на sigent.ru
-----------
Nice guys don't finish nice.
_______________________________________________
Devel mailing list
Devel на linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
Подробная информация о списке рассылки Devel