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

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Май 16 18:32:41 MSD 2006


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 вручную.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/2be53888/attachment-0001.bin>


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