[devel] non-strict deps

Dmitry V. Levin ldv на altlinux.org
Вс Янв 27 00:08:14 MSK 2013


On Sat, Jan 26, 2013 at 11:07:10PM +0400, Sergey Vlasov wrote:
[...]
>  2. Зависимости, явно указанные в Requires, в которых указано реальное
>     имя подпакета, заменяются на строгие зависимости на этот подпакет
>     также без возможности отключения.
> 
>     (Теоретически возможна ситуация, когда имя реального подпакета
>     присутствует также в другом подпакете в Provides - не уверен, что
>     такое стоит вообще допускать; в этом случае, согласно приведённому
>     алгоритму, зависимость не будет заменяться на строгую.)

Думаю что зависимость (как явную, так и неявную), в которой указано имя
подпакета, надо заменять на строгую.  Наличие в одном подпакете Provides
имени другого подпакета ничего, кроме путаницы, не принесет.  Такие
странные Provides, кстати, легко диагностировать во время сборки.

> Кстати, при анализе этих правил возник ещё один вопрос - что делать с
> зависимостями, более сложными, чем "Requires: B" без указания версии, в
> которых, тем не менее, указано реальное имя подпакета?  Например, если
> указано "Requires: B = %version" (без "-%release"), нужно ли менять эту
> зависимость на строгую?  А ведь возможен ещё вариант вида "Requires: B
> >= x.y", для которого автоматическая замена на строгую зависимость
> >выглядит ещё более сомнительно (ведь зачем-то эта нестрогая зависимость
> >была записана именно в таком виде).  Возможно, зависимости с условием,
> >отличающимся от "=", также стоит оставлять в неизменном виде, что также
> >даст возможность создания ограниченно нестрогих зависимостей -
> >например, в пакете версии x.y.z может быть указано "Requires: B >= x.y"
> >и "Conflicts: B >= x.(y+1)".

Зависимости, в которых есть RPMSENSE_LESS или RPMSENSE_GREATER, лучше
не трогать.  Зависимости вида "B = %version" мне попадались, и это все
были случаи забытого -%release.  Думаю, что их надо усиливать так же, как
и зависимости без версии.


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


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