[devel] buildreq FRs (was: [#27659] FAILED qt4.git=4.7.0-alt0.5)

Денис Смирнов mithraen на altlinux.ru
Пн Авг 16 12:53:53 UTC 2010


On Mon, Aug 16, 2010 at 12:55:00PM +0300, Michael Shigorin wrote:

MS> А как бы ты предложил отлавливать завёрнутое в %if?

На bash -- я бы испугался. На perl'е -- тупо парсить спек, выполняя часть
работы парсера. Если нашел некоторые ручные конструкции -- не вписывать их
автоматом.

MS> На ум пока приходит только multiline regex с условием
MS> "^%if непосредственно перед BuildRequires:" для того,
MS> чтоб не трогать такой BR, ну или ещё можешь глянуть
MS> в filter_spec из rpm-utils.git -- флажок ставить.

Уже такой вариант -- гораздо приятнее чем нынешний.

MS> Это да, но для некоторых пакетов простыни будут огромные,
MS> даже если только топологически сортированные зависимости так
MS> выводить.

Самое смешное, что нужда в этом есть только если простыни -- огромные.
Иначе глаза и --word-diff справляются. А вот в простынях вроде той что у
меня в Asterisk -- уже глаза даже с --word-diff не справляются.

MS> Ну и логику вышеупомянутого скрипта по части факта нахождения BR
MS> (переменная found) придётся переделать, потому что семантика
MS> совсем другая получается -- не "заменить список в первом
MS> найденном BR", а "заменить все BR на вот эти".
MS> Или же надо делать какие-то метки начала-конца автогенерата.

Метка начала уже есть. Метка конца -- любая строка, которая не начинается
с /^BuildRequires:/, например -- пустая. 

MS> Можно попытаться изобразить, но привычки по работе со спеками
MS> это заденет и скорее всего сильно.

Думаю это не настолько часто нужно, чтобы быть дефолтным. Меня во всех
моих пакетах кроме монстра астериска поведение buildreq в общем-то
устраивает.

Хотя если бы он был совсем умный, и выдавал не по одной строке -- а умел
бы еще некоторые связанные зависимости класть в одну строку... Но это уже
совсем неестественный интеллект получается.

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20100816/e610d4f9/attachment-0001.bin>


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