* [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 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
* 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
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