[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