[devel] Проблема при обновлении пакета , в котором сменился soname

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Май 16 15:46:31 MSD 2006


On Tue, May 16, 2006 at 03:24:42PM +0400, Vitaly Lipatov wrote:
> В пакете сначала была версия so.1 (ссылка на so.1.1.0),
> а в новой сборке версия изменилась (so.1 стало указывать
> на so.1.0.0).

Вообще-то как раз soname в данном случае не менялось, а вот изменение
версии выглядит весьма странно.  Downgrade?  Или кто-то наконец научился
пользоваться libtool?

Надо бы внимательно исследовать этот вопрос - возможно, это ошибка в
upstream, тогда лучше исправить её, чтобы получить правильную версию, а не
вставлять костыли в спек.

> При обновлении такого пакета получается битая ссылка (so.1 продолжает
> указывать на so.1.1.0, тогда как должна на so.1.0.0).

ldconfig при наличии нескольких библиотек с одинаковым soname выбирает из
них библиотеку с наибольшей версией.  В данном случае это правило даёт
неверный результат.

> Что-то не так, а что - не понимаю. Подскажите пожалуйста.
> 
> ldconfig вроде обычным образом вызывается:
> %post
> %post_ldconfig
> 
> %postun
> %postun_ldconfig

Во время выполнения %postun файлы предыдущих версий пакета ещё не удалены,
а в данном случае ldconfig выбирает библиотеку из старой версии.

Можно добавить %triggerpostun на предыдущие версии пакета, в котором ещё
раз вызвать %postun_ldconfig; при этом ссылка будет исправлена, но между
удалением старых файлов и выполнением %triggerpostun будет промежуток
времени, когда ссылка будет указывать на несуществующий файл.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20060516/d5daa834/attachment-0001.bin>


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