В сообщении от 20 апреля 2006 07:17 Alexey Tourbin написал(a): > On Thu, Apr 20, 2006 at 04:27:55AM +0400, Alexey Tourbin wrote: > > Кстати, я придумал ещё одного робота, который анализирует бинарную > > совместимость между двумя различными срезами сизифа. Идея в > > следующем: при частичном обновлении возможны конфигурации, когда > > приложение из нового среза не работает с библиотекой из старого среза, > > потому что использует какие-то функции, которые появились в более новой > > версии библиотеки (в новом срезе сизифа). > > Проанализировал archive/Sisyphus/2006/01/04/files/i586/RPMS против > текущего сизифа. Полный список прилагается. Поля в списке такие: > > abidrift ::= newpkg newbin oldlibpkg oldlibpath newlibpkg newlibpath soname > T sym > > Смысл этого отношения такой, что пакет newpkg работает с библиотекой > newlibpkg, но не будет работать с библиотекой oldlibpkg, потому что в > новой библиотеке есть симовол sym, который используется newbin (а в > старой библиотеке этого символа нет). А теперь, научно-популярно. На примере пакета devilspie: devilspie /usr/bin/devilspie glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2. 0.so.0.1000.2 libglib-2.0.so.0 T g_intern_static_string devilspie /usr/bin/devilspie glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2. 0.so.0.1000.2 libglib-2.0.so.0 T g_slice_alloc0 devilspie /usr/bin/devilspie glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2. 0.so.0.1000.2 libglib-2.0.so.0 T g_slice_free1 Самый простой способ починить этот пакет, прибить гвоздями минимальную версию glib2 для использования. В текущий момент это (это та версия которая сейчас лежит в репозитории): [icesik@iceberg ~]$ rpm -q glib2 glib2-2.10.2-alt1 [icesik@iceberg ~]$ Т.е.: Requires: glib2 >= 2.10.2-alt1 Второй способ (более правильный, но более сложный), найти версию glib2 в которой были добавлены эти символы и прописать её в Requires.