On Sat, Apr 03, 2010 at 09:03:46PM +0300, Michael Shigorin wrote: MS> Два месяца не архивировал почту -- всё равно не придумал... MS> Хоть здесь: http://www.altlinux.org/Обсуждение:SharedLibsPolicy Оба описанных метода с точки зрения пользователя, который делает dist-upgrade между разными версиями дистирибутивов будет расценен как "вредительство" и "этот [censored] apt выносит пол системы вместо обновления". Единственный работоспособный вариант -- это soname должна быть частью имени бинарного пакета. Т.е. идеальная схема обновления lib%name.so.1 на lib%name.so.2 выглядит так: - пересобираем lib%name1, отключив у него devel; - собираем liba%name2, соответственно собирая lib%name-devel из него - все пакеты, которые раньше были собраны с lib%name.so пинаем на пересборку по мере возможностей (этот процесс может затянуться на некоторое время) - как только в репозитории не остается больше пакетов, которым был бы нужен lib%name1, и если он не нужен всяким проприетарным поделиям, то удаляем его из репозитория В идеале также следовало бы с помощью того же repocop отлавливать те пакеты, которые требуют пересборки с новой версией, ибо желательно чтобы в дистрибутиве не было разных пакетов которые бы требовали разные версии одной библиотеки (чтобы избежать вероятного взрыва). Такая схема имеет ровно один недостаток -- при частичном обновлении есть вероятность получить ситуацию, когда приложение по цепочке зависимостей через разные библиотеки цепляет к себе две версии одной и той же библиотеки. Однако это именно проблема частичного обновления (делающие которое сами себе буратины, тем более что это грабля весьма не частая). Любая другая схема не работает, потому что apt -- тупой. -- С уважением, Денис http://mithraen.ru/ ----------------------------------------------------------------------------