[devel] abi_drift

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Апр 20 14:07:42 MSD 2006


On Thu, Apr 20, 2006 at 12:59:25PM +0300, Igor Zubkov wrote:
> А теперь, научно-популярно. На примере пакета 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.

Ещё более правильный способ - наладить symbol versioning у glib2.
Тогда все пакеты, которые используют g_intern_static_string и т.п.,
автоматически получат зависимость вида libglib-2.0.so.0(GLIB_ВЕРСИЯ).

Я же делал такую штуку для 2.8.  Не знаю, для 2.10 было это сделано или
нет.  Посмотрю на досуге. :)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060420/3c3b1de1/attachment-0001.bin>


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