[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