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? Такая ситуация может возникнуть при перекладывании библиотек между /%_lib и %_libdir. Если бы ENOENT считался как отсутствие в кеше, при котором запускается обычный поиск в каталогах, тогда можно было бы откладывать вызов ldconfig до окончания транзакции. Кстати, возможно, имеет ли смысл использовать 'ldconfig -X'. Перестановка симлинков (по отношению к rpm пакетам) -- очень сомнительная фича (и она даёт проблему в %post_ldconfig при даунгрейде библиотек).