[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