[devel] Проблемы при обновлении

Ivan A. Melnikov iv на altlinux.org
Ср Ноя 14 00:15:30 MSK 2012


On Tue, 13 Nov 2012 21:34:34 +0200
Led <led на altlinux.ru> wrote:

> On Tuesday 13 November 2012 21:05:18 Dmitry V. Levin wrote:
> > On Tue, Nov 13, 2012 at 08:20:23PM +0200, Led wrote:
> > > On Tuesday 13 November 2012 20:06:45 Ivan A. Melnikov wrote:
> > > > Сегодня обновлял систему до свежего Сизифа, впервые за
> > > > несколько дней, 204 пакета. Поймал вот такую ошибку:
> > > >
> > > >  97: libgtk+3
> > > > #######################################################################
> > > >#### ########################
> > > >[ 45%] /usr/bin/gtk-query-immodules-3.0:
> > > > error while loading shared libraries: libicule.so.48: cannot
> > > > open shared object file: No such file or directory error:
> > > > execution of %post scriptlet from libgtk+3-3.6.2-alt1 failed,
> > > > exit status 127
> > > >
> > > > И в конце транзакции соответственно:
> > > >
> > > > E: Some errors occurred while running transaction
> > > > [root на deimos ~]#
> > > >
> > > > Теперь у меня в системе две libgtk+3.
> > > >
> > > > Это точно баг. Но в каком пакете?
> > >
> > > Это похоже на следствие отказа от ldconfig в %post пакета.
> >
> > Каким образом отказ от ldconfig в %post мог бы сломать установку
> > правильно собранных пакетов?
> 
> Мне кажется, что выполнение в %post утилиты, слинкованной с вновь 
> установленной библиотекой (но с ещё неотработавшим ldconfig) может
> быть неоднозначным. По крайней мере, когда-то синтетические тесты мне
> показывали такие "неоднозначности".
> 

Наблюдение: gtk-query-immodules-3.0 из %post для libgtk+3
требует 65 разделяемых библиотек из 47 различных пакетов, а PreReq
только glib2, libpango и libatk. Так что даже ldconfig не спасёт от
некоторой лотереи при установке. И вряд ли имеет смысл заставлять
майнтейнера все эти зависимости отслеживать.

Я бы предположил, что подобные "тяжёлые" утилиты вообще нельзя
использовать в %post, а надо переносить куда-нибудь на-после-транзакции,
например через pdeath-execute или файлтриггер.


-- 
WBR,
Ivan A. Melnikov


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