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

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Май 16 19:28:10 MSD 2006


On Tue, May 16, 2006 at 06:32:41PM +0400, Sergey Vlasov wrote:
> On Tue, May 16, 2006 at 03:46:31PM +0400, Sergey Vlasov wrote:
> > ldconfig при наличии нескольких библиотек с одинаковым soname выбирает из
> > них библиотеку с наибольшей версией.  В данном случае это правило даёт
> > неверный результат.
> [...]
> > Во время выполнения %postun файлы предыдущих версий пакета ещё не удалены,
> > а в данном случае ldconfig выбирает библиотеку из старой версии.
> > 
> > Можно добавить %triggerpostun на предыдущие версии пакета, в котором ещё
> > раз вызвать %postun_ldconfig; при этом ссылка будет исправлена, но между
> > удалением старых файлов и выполнением %triggerpostun будет промежуток
> > времени, когда ссылка будет указывать на несуществующий файл.
> 
> Поправка: в триггере придётся писать %post_ldconfig - %postun_ldconfig
> определяет, что производится не удаление, а обновление пакета, и при
> обновлении просто ничего не делает (поскольку предполагается, что
> переустановка ссылки на новую версию библиотеки была выполнена в
> %post_ldconfig, запущенном в post-скрипте новой версии).
> 
> Кстати, такое поведение %postun_ldconfig может приводить к проблемам при
> необходимости по каким-либо причинам откатиться на старую версию пакета:
> %post_ldconfig в устанавливаемой старой версии всё равно ставит ссылку на
> новую версию библиотеки, %postun_ldconfig в удаляемой новой версии ничего
> не делает, в результате ссылка остаётся битой, и для исправления ситуации
> приходится вызывать ldconfig вручную.

Да, конечно.  Можно отключить эту оптимизацию в %postun_ldconfig, если
проблема кажется реальной.  Какие ещё есть предложения?


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060516/8c5aabb5/attachment-0001.bin>


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