[devel] Q: Проверка спека на присутствие макроса.

Aleksey Avdeev =?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Вт Авг 12 02:27:18 MSD 2008


Alexey Tourbin пишет:
> On Tue, Aug 12, 2008 at 02:00:59AM +0400, Aleksey Avdeev wrote:
>> Alexey Tourbin пишет:
>>> On Tue, Aug 12, 2008 at 01:48:36AM +0400, Aleksey Avdeev wrote:
>>>>  Решая задачу проверки использования 
>>>>  (не объявления) макроса в спеке 
>>>>  нарисовал такое регулярное выражение 
>>>> (для egrep):
>>>>
>>>> '%(<макрос>($|[^[:alnum:]_])|([{](<макрос>[}]|(|!)\?<макрос>[:}])))'
>>>>
>>>>  Вопросы:
>>>>
>>>> 1. Все ли случаи я учёл?
>>> %% работает как escape для %.
>>   Тогда:
>>
>> '(^|[^%])%(a_b($|[^[:alnum:]_])|([{](a_b[}]|(|!)\?a_b[:}])))'
> 
> Контрпример: %%%_libdir.  Если привязываться регулярным выражением
> к первому "%", то потребуется неограниченный look-behind: значащему
> знаку "%" должно предшествовать четное количетво знаков "%".

   OK. Есть штатные средства для такой проверки? (Или можно ли заставить 
rpm -bM не проверять наличие сорцов?)

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 552 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080812/0cd6e5d7/attachment-0002.bin>


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