[devel] non-strict deps Зачем?
Dmitry V. Levin
ldv на altlinux.org
Сб Янв 26 17:32:50 MSK 2013
On Sat, Jan 26, 2013 at 04:35:37PM +0400, Alexey Gladkov wrote:
> 26.01.2013 16:08, Dmitry V. Levin wrote:
> > Разве это не очевидно? Вы же не первый год в теме, и знаете, что
> > одновременная установка подпакета одной версии с подпакетом другой версии
> > чревата большими неприятностями, такие смешанные установки вряд ли кто-то
> > в состоянии полноценно протестировать, поэтому лучшее, что мы можем
> > сделать - это избегать их.
>
> Это не очевидно.
Это не вполне тривиально, но все равно очевидно.
> Нестрогие зависимости это инструмент. Он не может быть хорош или плох.
Нестрогие зависимости редко когда инструмент, чаще это свойство.
> Любой инструмент если его неправильно применять будет приносить вред.
> Стоит ли бороться с неправильным применением того или иного
> инструмента? Конечно да. Нужно ли из-за потенциального вреда запрещать
> инструмент? Мне кажется, что нет.
>
> Ты можешь привести конкретный пример из сизифа (как ты любишь), где
> нестрогая зависимость вызывает проблемы ?
Ты думаешь, что это умозрительная проблема? Я несколько дней назад
посмотрел, что это за нечеткие зависимости в 659 исходных пакетах.
Там около процента альтернативных провайдеров типа vim-X11-* и
apache2-httpd-*, и очень много типовых ошибок упаковки, например,
нестрогая зависимость на используемую библиотеку (в пакете нет зависимости
вообще, а нестрогую зависимость на библиотеку вычислил find-requires).
В этой ситуации сложнее привести пример, когда отсутствие строгой
зависимости не создает проблемы точечного обновления. set-versions
отслеживает только имена функций, этого не всегда бывает достаточно,
на эту тему висят баги:
https://bugzilla.altlinux.org/show_bug.cgi?id=28383
Если обновить библиотеку, в которой не поменялся soname, но не обновить
devel-пакет (таких возможностей сейчас очень много), то можно получить
devel-пакет, в котором API не соответствует ABI в библиотеке.
Так что это не просто неряшливые спеки приводят к неряшливым пакетам,
а еще и неряшливые пакеты - к проблемам точечных обновлений, которых можно
избежать с помощью строгих внутрипакетных зависимостей.
> >> Мы все доказываем и обосновываем тебе, что они нужны.
> >
> > Нет, вы не доказываете.
>
> Так ты тоже ещё ничего не доказал. Выше ты написал, что это очевидно.
> Но этот тред показывает, что для людей "не первый год в теме"
> полезность такого запрета совсем не очевидна. Поэтому, думаю,
> доказательство необходимости запрета всё-таки нужно (с плюсами и
> минусами).
Необходимость запрета очевидна, неочевидна необходимость тотального
запрета. :)
> > Я знаю, что такие ситуации
> > теоретически возможны, и тоже могу сочинить демонстрационный пример.
>
> Раз ты знаешь, что в таком механизме может быть необходимость, то
> почему не оставляешь возможности для него ?
Я оставляю возможность такого механизма.
> > Но на практике в Сизифе таких примеров либо нет совсем, либо их настолько
> > мало, что я за два дня не нашел. Помогите мне, найдите этот реальный
> > пример, тогда я верну механизм %_allowed_nonstrict_interdeps.
>
> И всё-таки давай вернёмся к osec. Пока есть хотя бы один пакет общее
> правило не применимо. Пока ты упорно игнорируешь этот случай.
osec мы с тобой обсуждаем в соседнем треде. :)
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20130126/b11d1f27/attachment-0001.bin>
Подробная информация о списке рассылки Devel