[devel] I: rpm 4.0.4-alt98.49, latter rain

Alexey Tourbin at на altlinux.ru
Пт Окт 8 17:38:32 UTC 2010


On Fri, Oct 08, 2010 at 06:52:50PM +0400, Aleksey Avdeev wrote:
> 05.10.2010 00:41, Alexey Tourbin пишет:
> > Ничем не замечателен, для постоянных посетителей заведения
> > всё должно пройти незаметно.-)
> > 
> > Предыдущий релиз rpm уже генерировал зависимости вида
> > Provides: libfoo.so.1 = set:7f0252c3...
> > 
> > Теперь же генерируются и зависимости
> > Requires: libfoo.so.1 >= set:3f5b289c...
> > а это делает процесс необратимым.
> > 
> > Т.н. set-версии позволяют проверить совпадение библиотечных функций,
> > используемых в программе, и экспортируемых функций библиотеки.  Но это
> > совпадение - не прямое равенство, а подмножество.  Отсюда весь сыр-бор.
> 
>   Правильно понимаю, что это позволит исключить ситуации когда программа
> и подгружаемый плагин (например apache и его модуль) слинкованы
> несовместимыми версиями некой библиотеки?

Смотря что понимать под разными версиями библиотеки.  Библиотеки с разными
сонеймами считются разными библиотеками.  И если, например, программа
слинкована с libdb4.7, а плагин слинкован с libdb5.x, то на уровне
зависимостей сделать что-либо очень сложно, чтобы предотвратить такую
ситуацию.

С другой стороны, если сонейм не изменился, но изменились названия
функций (добавились/удалились функции), а программа и плагин были
собраны в разное время, то несовместимость по символам будет хорошо
отлавливаться.  Впрочем, это уже не связано напрямую со схемой
программа/плагины.


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