[devel] non-strict deps Зачем?
Dmitry V. Levin
ldv на altlinux.org
Сб Янв 26 16:08:56 MSK 2013
On Sat, Jan 26, 2013 at 03:30:49PM +0400, Alexey Gladkov wrote:
> 25.01.2013 19:11, Dmitry V. Levin wrote:
> >> Вот именно. Нередкий случай, когда пакет предоставляет какой-то минимальный
> >> функционал, вынесенный в субпакет, а более "навороченныц" вариант
> >> предоставляется совершенно другим пакетом (собираемым отдельно). Или наборот.
> >
> > Нередкий? Хотя бы один реальный пример можно привести?
>
> Дим, а можно услышать обоснование обратного т.е. почему нестрогие
> зависимости на подпакет в одном исходном вреден?
Разве это не очевидно? Вы же не первый год в теме, и знаете, что
одновременная установка подпакета одной версии с подпакетом другой версии
чревата большими неприятностями, такие смешанные установки вряд ли кто-то
в состоянии полноценно протестировать, поэтому лучшее, что мы можем
сделать - это избегать их. Помимо повышения качества, строгие межпакетные
зависимости открывают возможность оптимизации зависимостей. Если подпакет
A использует что-то, предоставляемое подпакетом B, то строгая зависимость
A от B позволяет rpmbuild'у убрать из A все остальные зависимости,
удовлетворяемые подпакетом B. Посмотрите на логи сборки, и почти в каждом
пакете, содержащем подпакеты, вы увидите сообщения вида
removing N extra deps from ...
Нередко из одного подпакета удается убрать двузначное число таких
избыточных зависимостей. А чем меньше зависимостей, тем быстрее
происходит работа с пакетной базой.
С одной стороны, нам нужно больше межпакетных зависимостей, чтобы проще
было получать рабочие пакетные конфигурации и сложнее - нерабочие.
С другой стороны, нам нужно меньше зависимостей, чтобы работать с пакетной
базой быстрее.
Строгие внутрипакетные зависимости дают нам и то, и другое сразу.
> Мы все доказываем и обосновываем тебе, что они нужны.
Нет, вы не доказываете. Вы говорите, что в принципе возможны ситуации,
когда описанный мной алгоритм определения того, нужно ли зависимость
автоматически делать строгой, неприменим. Я знаю, что такие ситуации
теоретически возможны, и тоже могу сочинить демонстрационный пример.
Но на практике в Сизифе таких примеров либо нет совсем, либо их настолько
мало, что я за два дня не нашел. Помогите мне, найдите этот реальный
пример, тогда я верну механизм %_allowed_nonstrict_interdeps.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20130126/5ef3b1a5/attachment.bin>
Подробная информация о списке рассылки Devel