[devel] Мусор в Requires
Andrey Orlov
=?iso-8859-1?q?cray_=CE=C1_neural=2Eru?=
Пн Мар 1 11:32:45 MSK 2004
On Monday 01 March 2004 01:13, Денис Смирнов wrote:
> 3. Привожу пример:
> - libc.so.6
> - libc.so.6(GLIBC_2.0)
> - libc.so.6(GLIBC_2.1)
> - libc.so.6(GLIBC_2.1.2)
> - libc.so.6(GLIBC_2.1.3)
> - libc.so.6(GLIBC_2.2)
>
> Красиво? Логика мне подсказывает, что лишь последняя запись здесь имеет
> смысл.
То, что вы сказали, верно при предположении, что:
libc.so.6(GLIBC_2.2) provide libc.so.6(GLIBC_2.1.3)
Что, конечно, в данном конкретном случае может быть и так, но вот в общем случае ...
Я живо представил себе "дуп" вида :
python == 2.2
python == 2.3
И что-то у меня не возникает уверенности в работоспособности этого пакета вообще,
а уж тем более - при соблюдении только последней кляузы.
Иными словами, упростить такие зависимости, конечно, можно, но нужна машина
вывода более хорошая, чем sort|unique|tail -1 ;)
> 5. libXXX и libXXX.so.Y
> Логика мне подсказывает, что вторая зависимость такого вида чаще всего
> является лишь уточнением первой.
>
> Предложение: в подобных ситуациях удалять первую зависимость.
Из вашей логики следует, что ваше предложение будет "чаще всего" работать.
> Реализация каждой их этих оптимизаций достаточно простая (всё вместе займёт
> пару часов, не считая тестирования), и я пока не вижу ни одного негативного
> побочного эффекта от этой фичи.
Выше парочка нашлась
> Зато есть два основных позитивных, это уменьшение размера apt и rpm баз,
> увеличения скорости работы apt, увеличение скорости работы hasher'а.
Сдается мне, что основной тормоз apt & rpm баз не в количестве зависимстей,
а в их кривой обработке, так что и копать надо в другую сторону. Вот то, что
снижение количества зависимостей приводит к их большей осозноваемости
представляет некий плюс.
> Вопрос -- оно нам надо? В смысле -- я могу это сделать, но это имеет смысл
> только при включении результата в Сизиф (и пользу от него мы получим только
> после ближайшей полной пересборки Сизифа).
Мне кажется, что в общем случае без создания серьезной машины вывода работающей
над зависимостями и исключающей те из них, которые выводимы через другие при помощи
некоторых правил вывод, это будет глюкодром. С другой стороны, от попытки проведения
работы такого рода может произойти масса полезных сторонних эффектов, как для вас
лично, так и для Сизиф, так что я бы с интересом за этим понаблюдал.
ЗЫ: Пример стороннего эффекта - средства диагностики корректости зависимостей для ручного
исправления. Я тут склепал прототип python.req python.prov, а применив его к собственно python ;),
обнаружил, что некоторые файлы в пакете нахрен не нужны.
--
WthBstRgrds -- Андрей Орлов --
--- http: www.neural.ru, mail: cray на neural.ru, jid: cray на altlinux.org ---
----------------------------------------
Подробная информация о списке рассылки Devel