[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