[devel] I: sonames versioned with symbols

Alexey Tourbin at на altlinux.ru
Вс Май 9 23:36:11 UTC 2010


On Sun, May 09, 2010 at 10:56:12PM +0400, Денис Смирнов wrote:
> AT> Зависимость удовлетворена не будет.  set-зависимости обладают
> AT> специальной семантикой: Requires-зависимость будет удовлетворена,
> AT> только если requries-set является подмножеством provides-set.
> AT> http://git.altlinux.org/people/at/packages/rpm.git?a=commitdiff;h=acd1dd03
> 
> Интересно. Правда есть один большущий недостаток:
> 
> # nm -D libc.so.6  | grep ' T ' | wc -l
> 1616
> 
> или еще веселее:
> # nm -D /usr/lib/libwireshark.so.0  | grep ' T ' | wc -l
> 5320

Чудес не бывает, информация должна быть каким-то образом представлена.
Вопрос только в том какая цена будет казаться нам приемлемой.  Если
придумать изощренный метод хеширования, то нужно, грубо говоря, примерно
20 битов на символ полной энтропии (то есть примерно 3.3 буквы в
base64).  Есть теоретическая оценка что с надежностью 0.1% нужно 12
битов энтропии.  Короче это сложная тема, но пока можно считать, что
в "нормальной" (а не модельной, как сейчас) реализации потребуется
примерно 3 буквы на символ.

Конечно, символов бывает много, и версия может получиться очень длинной.
Так что даже неприлично показать. :)

> AT> То есть версии у зависимостей вида "set:*" обрабатываются специальным
> AT> кодом который их "раскладывает" и дальше проверят вложение.
> AT> Вообще оказалось что в таком ракурсе возможна декомпозиция: с одной
> AT> стороны, как представить set-зависимости; с другой стороны, как их
> AT> формировать.  Оказывается это сводит сложную задачу к более простым
> AT> задачам. :)
> 
> Только вот как при этом сделать чтобы базы rpm и apt не распухли?

В этом интрига - возможна ли более практичная реализация.
Но пока обкатывается модельная реализация.

> Или даже так -- с учетом того что трафик и диски нынче относительно
> дешевые, как сделать чтобы apt не _тормозил_ на такой базе? 

Понимаешь, все эти проблемы тормозов - мои в конечном счете.
А я не предлагаю утопических проектов. :)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20100510/bc0f29e3/attachment.bin>


Подробная информация о списке рассылки Devel