[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