On Wed, Sep 10, 2008 at 12:23:45AM +0400, Alexey Tourbin wrote: [...] > Посмотрим, какой расклад мы имеем с кешем gtk2. Библиотека libgtk+2 > использует кеш по умолчанию, если он существует (это ускоряет запуск > приложений, а также экономит память, т.к. иконки расшариваются между > приложениями). Есть стандартная программа обновления кеша > gtk-update-icon-cache. Кроме библиотеки libgtk+2 этот кеш больше никто > не использует. > > Следуя принципу правильной группировки файлов в пакетах, можно > заключить, что библиотеку libgtk+2, программу gtk-update-icon-cache > и триггер /usr/lib/rpm/gtk-icon-cache.filetrigger следует запаковать > в один и тот же пакет (libgtk+2). > > Принцип правильной группировки файлов между пакетами состоит в том, > что совместно используемые файлы нужно паковать в один и тот же пакет. > Действительно, программа gtk-update-icon-cache сама по себе, по > отдельности, имеет мало смысла (т.к. результат её работы представляет > интерес только для библиотеки libgtk+2). А триггер > /usr/lib/rpm/gtk-icon-cache.filetrigger, в свою очередь, сможет сделать > что-либо только при наличии программы gtk-update-icon-cache. Короче, > эти две программы просто "обслуживают" библиотеку libgtk+2. > > С другой стороны, этот принцип не является настолько однозначным, чтобы > можно было применять его механически. Нужно думать. Ведь библиотека > libgtk+2, хотя и использует кеш иконок по умолчанию, всё же обходится > без него, если кеш отсутствует. Так что кто-то может возразить, что > мы кладём в libgtk+2 лишние файлы, без которых, строго говоря, можно > обойтись. На что мы можем парировать позитивной интерпретацией: кеш > иконок работает "из коробки" (а в противном случае возможны проблемы > с инвалидацией кеша, то есть битые иконки в приложениях). Существует как минимум один распространённый тип использования libgtk+2, при котором кэш иконок не используется совершенно: libgtk+2-devel. Так что в библиотеке libgtk+2, запакованной без вспомогательных инструментов обновления этого кэша, есть вполне понятный смысл. Тоже самое, наверное, можно сказать и про libtcl. -- ldv