* [devel] Проблема при обновлении пакета , в котором сменился soname @ 2006-05-16 11:24 Vitaly Lipatov 2006-05-16 11:46 ` Sergey Vlasov 0 siblings, 1 reply; 7+ messages in thread From: Vitaly Lipatov @ 2006-05-16 11:24 UTC (permalink / raw) To: devel В пакете сначала была версия so.1 (ссылка на so.1.1.0), а в новой сборке версия изменилась (so.1 стало указывать на so.1.0.0). При обновлении такого пакета получается битая ссылка (so.1 продолжает указывать на so.1.1.0, тогда как должна на so.1.0.0). Что-то не так, а что - не понимаю. Подскажите пожалуйста. ldconfig вроде обычным образом вызывается: %post %post_ldconfig %postun %postun_ldconfig -- Lav Виталий Липатов Санкт-Петербург GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] Проблема при обновлении пакета , в котором сменился soname 2006-05-16 11:24 [devel] Проблема при обновлении пакета , в котором сменился soname Vitaly Lipatov @ 2006-05-16 11:46 ` Sergey Vlasov 2006-05-16 14:32 ` Sergey Vlasov 2006-05-16 15:59 ` [devel] Проблема при обновлении пакета , " Vitaly Lipatov 0 siblings, 2 replies; 7+ messages in thread From: Sergey Vlasov @ 2006-05-16 11:46 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1451 bytes --] 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 будет промежуток времени, когда ссылка будет указывать на несуществующий файл. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] Проблема при обновлении пакета , в котором сменился soname 2006-05-16 11:46 ` Sergey Vlasov @ 2006-05-16 14:32 ` Sergey Vlasov 2006-05-16 15:28 ` [devel] Проблема при обновлении пакета, " Dmitry V. Levin 2006-05-16 15:59 ` [devel] Проблема при обновлении пакета , " Vitaly Lipatov 1 sibling, 1 reply; 7+ messages in thread From: Sergey Vlasov @ 2006-05-16 14:32 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1434 bytes --] 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 вручную. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] Проблема при обновлении пакета, в котором сменился soname 2006-05-16 14:32 ` Sergey Vlasov @ 2006-05-16 15:28 ` Dmitry V. Levin 2006-05-16 15:33 ` Alexey Tourbin 0 siblings, 1 reply; 7+ messages in thread From: Dmitry V. Levin @ 2006-05-16 15:28 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1693 bytes --] 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 [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] Проблема при обновлении пакета, в котором сменился soname 2006-05-16 15:28 ` [devel] Проблема при обновлении пакета, " Dmitry V. Levin @ 2006-05-16 15:33 ` Alexey Tourbin 2006-05-18 10:17 ` Michael Shigorin 0 siblings, 1 reply; 7+ messages in thread From: Alexey Tourbin @ 2006-05-16 15:33 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1637 bytes --] On Tue, May 16, 2006 at 07:28:10PM +0400, Dmitry V. Levin wrote: > > > Во время выполнения %postun файлы предыдущих версий пакета ещё не удалены, > > > а в данном случае ldconfig выбирает библиотеку из старой версии. > > > > > > Можно добавить %triggerpostun на предыдущие версии пакета, в котором ещё > > > раз вызвать %postun_ldconfig; при этом ссылка будет исправлена, но между > > > удалением старых файлов и выполнением %triggerpostun будет промежуток > > > времени, когда ссылка будет указывать на несуществующий файл. > > > > Поправка: в триггере придётся писать %post_ldconfig - %postun_ldconfig > > определяет, что производится не удаление, а обновление пакета, и при > > обновлении просто ничего не делает (поскольку предполагается, что > > переустановка ссылки на новую версию библиотеки была выполнена в > > %post_ldconfig, запущенном в post-скрипте новой версии). > > > > Кстати, такое поведение %postun_ldconfig может приводить к проблемам при > > необходимости по каким-либо причинам откатиться на старую версию пакета: > > %post_ldconfig в устанавливаемой старой версии всё равно ставит ссылку на > > новую версию библиотеки, %postun_ldconfig в удаляемой новой версии ничего > > не делает, в результате ссылка остаётся битой, и для исправления ситуации > > приходится вызывать ldconfig вручную. > > Да, конечно. Можно отключить эту оптимизацию в %postun_ldconfig, если > проблема кажется реальной. Какие ещё есть предложения? Проблема кажется реальной. Я время от времени тестирую новые сборки "вижвую" и потом иногда откатываю на старые сборки. Наступал на эти грабли несколько раз. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] Проблема при обновлении пакета, в котором сменился soname 2006-05-16 15:33 ` Alexey Tourbin @ 2006-05-18 10:17 ` Michael Shigorin 0 siblings, 0 replies; 7+ messages in thread From: Michael Shigorin @ 2006-05-18 10:17 UTC (permalink / raw) To: ALT Devel discussion list On Tue, May 16, 2006 at 07:33:29PM +0400, Alexey Tourbin wrote: > > Да, конечно. Можно отключить эту оптимизацию в > > %postun_ldconfig, если проблема кажется реальной. Какие ещё > > есть предложения? Выставлять что-то при --oldpackage, на что реагировать в %postun_ldconfig? > Проблема кажется реальной. Я время от времени тестирую новые > сборки "вижвую" и потом иногда откатываю на старые сборки. > Наступал на эти грабли несколько раз. "Так вот оно что было". +1 -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] Проблема при обновлении пакета , в котором сменился soname 2006-05-16 11:46 ` Sergey Vlasov 2006-05-16 14:32 ` Sergey Vlasov @ 2006-05-16 15:59 ` Vitaly Lipatov 1 sibling, 0 replies; 7+ messages in thread From: Vitaly Lipatov @ 2006-05-16 15:59 UTC (permalink / raw) To: ALT Devel discussion list On Tuesday 16 May 2006 15:46, Sergey Vlasov wrote: > 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, тогда лучше исправить её, чтобы получить > правильную версию, а не вставлять костыли в спек. upstream - это я, вот и пытаюсь исследовать. > > При обновлении такого пакета получается битая ссылка (so.1 > > продолжает указывать на so.1.1.0, тогда как должна на > > so.1.0.0). > > ldconfig при наличии нескольких библиотек с одинаковым soname > выбирает из них библиотеку с наибольшей версией. В данном > случае это правило даёт неверный результат. То есть можно констатировать, что downgrade для soname чреват проблемами? Я слышал, но не понял сразу что это ко мне относится :) > Во время выполнения %postun файлы предыдущих версий пакета ещё > не удалены, а в данном случае ldconfig выбирает библиотеку из > старой версии. > > Можно добавить %triggerpostun на предыдущие версии пакета, в > котором ещё раз вызвать %postun_ldconfig; при этом ссылка > будет исправлена, но между удалением старых файлов и > выполнением %triggerpostun будет промежуток времени, когда > ссылка будет указывать на несуществующий файл. Спасибо за советы, всё ясно. -- Lav Виталий Липатов Санкт-Петербург GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2006-05-18 10:17 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-05-16 11:24 [devel] Проблема при обновлении пакета , в котором сменился soname Vitaly Lipatov 2006-05-16 11:46 ` Sergey Vlasov 2006-05-16 14:32 ` Sergey Vlasov 2006-05-16 15:28 ` [devel] Проблема при обновлении пакета, " Dmitry V. Levin 2006-05-16 15:33 ` Alexey Tourbin 2006-05-18 10:17 ` Michael Shigorin 2006-05-16 15:59 ` [devel] Проблема при обновлении пакета , " Vitaly Lipatov
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git