[devel] SharedLibsPolicy
Led
ledest at gmail.com
Sun Nov 15 20:00:02 UTC 2009
On Sunday, 15 November 2009 09:06:52 Денис Смирнов wrote:
> On Sun, Nov 15, 2009 at 03:36:12AM +0200, Led wrote:
> >> Нет, я предлагаю лечить совершенно другую болезнь.
>
> L> Какую?
>
> В тупом apt не работает dist-upgrade.
Почему ищем ключи не там, где потеряли, а там, где проще - под фонарём?
>
> L> Устроило наличие в икаминге "приложения", которое бы гарантированно не
> пускало L> в репозитарий пакеты, могущие привести к таким "граблям".
>
> Предлагаемые методы неисполнения SharedLibsPolicy
Какие?
> гарантировано ломают
> обновления, также гарантировано ломают точечные обновления, и при этом
> _иногда_ решают поднятую проблему.
"Точечные обновления" могут "гарантированно ломаються" даже со всеми
предлагаемыми костылями и зоопарком libfooN (где N - разные циферки). Пример:
app собран с libfoo.so.1.0, соответственно слинкован с libfoo.so.1 и имеет
зависимость на libfoo.so.1
далее, появляется libfoo.so.1.1 (полностью обратно совместимая с
libfoo.so.1.0).
далее, появляется новый app, собран с libfoo.so.1.1, соответственно слинкован
с libfoo.so.1 и имеет зависимость на libfoo.so.1
далее появляетесь вы, делаете "точечное обновление" app - всё отлично
обновляется.
запускаете app - упс! "неизвестный символ". app "упало" :(
SharedLibsPolicy в таком случае - никак не помогает :(
>
> Иногда, потому что ряд критичных пакетов (вроде libdb) могут
> присутствовать в репозитории несколькими версиями одновременно.
ls -1 /lib64/libdb*
/lib64/libdb-4.4.so
/lib64/libdb-4.5.so
/lib64/libdb-4.7.so
Неудачный пример. Формально это разные библиотеки, с разными именами, без
версии после "so"
>
> Но написать такое приложение -- да, было бы полезно. Не хочешь взяться за
> это? :)
А смысл? Следить за бардаком? ИМХО нужно просто не устраивать бардак.
--
Led
More information about the Devel
mailing list