On Thu, Sep 11, 2008 at 11:25:42PM +0400, Alexey Tourbin wrote: > On Mon, Sep 08, 2008 at 05:49:58PM +0400, Dmitry V. Levin wrote: > > On Mon, Sep 08, 2008 at 01:51:06PM +0400, Alexey Tourbin wrote: > > > Юрий Седунов просил меня реализовать posttrans filetriggers, > > > чтобы решить проблему c gtk icon cache в branch-4.1 (для предостящего > > > релиза дистрибутива). > > > > > > Проблема это такая: библиотека libgtk+2 может использовать кеш > > > иконок /usr/share/icons/hicolor/icon-theme.cache, чтобы ускорить > > > загрузку иконок. По умолчанию этот кеш отсутствует; но если он создан, > > > то libgtk+2 не находит иконки, отсутствующие в кеше (но существующие в > > > файловой системе). > > > > Такое поведение libgtk+2 считаю глубоко порочным. Представьте себе, что > > ld-linux.so при наличии файла /etc/ld.so.cache будет игнорировать те > > библиотеки в %_lib и %_libdir, которых в /etc/ld.so.cache нет. > > А как ведёт себя ld-linux.so, если путь из кеша даёт ENOENT? Будет искать по файловой системе согласно /etc/ld.so.conf > Такая ситуация может возникнуть при перекладывании библиотек между > /%_lib и %_libdir. Если бы ENOENT считался как отсутствие в кеше, Именно так. > при котором запускается обычный поиск в каталогах, тогда можно было > бы откладывать вызов ldconfig до окончания транзакции. Да, вызов ldconfig можно откладывать до окончания транзакции, если пренебречь одним обстоятельством, о котором идёт речь ниже. > Кстати, возможно, имеет ли смысл использовать 'ldconfig -X'. > Перестановка симлинков (по отношению к rpm пакетам) -- очень > сомнительная фича (и она даёт проблему в %post_ldconfig при > даунгрейде библиотек). Это объезд для пакетов, в которых забыли упаковать эти ссылки. -- ldv