Вход:  Пароль:  
FreeSource: AltLinux/Policy/GtkGnomeThemes ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Policy/GtkGnomeThemes за 2006-10-19 01:42:06..

Упаковка тем GTK+ и GNOME

Это черновик будущего полиси на упаковку GTK+ engines, GTK+ themes, Metacity themes и GNOME themes. Пока все правила описаны вместе, в дальнейшем правила для GTK+ и для GNOME предполагается разделить.

Определения

1. GTK+ engine: файл %_libdir/gtk-2.0/*/engines/lib<engine_name>.so
2. GTK+1 theme: каталог %_datadir/themes/<theme_name>/gtk и его содержимое
3. GTK+2 theme: каталог %_datadir/themes/<theme_name>/gtk-2.0 и его содержимое


4. Metacity theme: каталог %_datadir/themes/<theme_name>/metacity-* и его содержимое
5. Icon theme: каталог %_iconsdir/<theme_name> и его содержимое
6. GNOME theme: файл %_datadir/themes/<theme_name>/index.theme
FIXME: Неясно, к какой из сущностей относится каталог %_datadir/themes/<theme_name>.

Разбиение сущностей по пакетам

Этот раздел касается упаковки сущностей по бинарным пакетам (.rpm), а не по исходным (.src.rpm). Упаковка сущностей по исходным пакетам может быть произвольной.
Помимо очевидного разбиения «пакет на сущность» рекомендуются к использованию следующие варианты:
1. Bundled GTK+2 theme: GTK+ engine вместе с GTK+2 theme
2. Bundled GNOME theme: Metacity theme, GNOME theme и, опционально, Icon theme
Не рекомендуется, но допускается в силу имеющейся практики:
1. GTK+1/2 theme: GTK+1 theme вместе с GTK+2 theme
2. (Bundled) GTK+/GNOME theme: GTK+2 theme вместе с GNOME theme и, опционально, Metacity theme
Не допускается:
1. KDE/XFCE/GTK+/GNOME theme: любая из тем GTK+ или GNOME, упакованная вместе с темами для других графических сред; такая упаковка делает невозможной простановку зависимостей на компоненты среды.
2. Metacity/Icon theme: Metacity theme вместе с Icon theme; Metacity может использоваться независимо от GNOME, а уж темы оконного менеджера и темы значков — и подавно.
3. Другие сочетания, пересекающие границу между GTK+ и GNOME (например, GTK+ engine и GNOME theme).

Именование пакетов

Общее правило: предпочтительно называть пакеты полностью в нижнем регистре, разделяя слова дефисами. Префиксы в единственном числе используются при упаковке одной сущности одного типа (напр., GTK+ theme), во множественном — при упаковке нескольких сущностей одного типа. Примеры: gnome-theme-long-name, libgtk-engines-default.
Пакеты различных типов должны иметь следующие префиксы в названиях:
* GTK+ engine — libgtk-engine-;
* GTK+1 theme — gtk1-theme-;
* GTK+2 theme, Bundled GTK+2 theme — gtk2-theme-;
* GTK+1/2 theme — gtk-theme-;
* Metacity theme — metacity-theme-;
* GNOME icon theme — icon-theme-gnome-, либо icon-theme-, если заведомо известно, что тема может использоваться вне GNOME (FIXME);
* GNOME theme, Bundled GNOME theme, (Bundled GTK+/GNOME theme — gnome-theme-;

Зависимости пакетов

Общие правила:
1. Рекомендуется указанные ниже зависимости всегда указывать в Requires пакета. В некоторых случаях указанные зависимости могут этим же пакетом и предоставляться, тогда разрешается опускать зависимость.
2. Указанные зависимости всегда должны корректно разрешаться apt'ом.
В соответствии с типом попадающих в пакет сущностей, должны быть проставлены следующие зависимости:
* GTK+ engine — libgtk+2 (проставляется автоматически как зависимость на соответствующую библиотеку в пакете; явным образом проставлять ничего не нужно);
* GTK+1 theme — gtk+;
* GTK+2 theme — libgtk-engine-<name> (возможно, не один; требуемые engines берутся из файла gtk-2.0/gtkrc поиском слова engine);
* Metacity theme — metacity (не metacity-gnome и не libmetacity);
* GNOME icon theme — gnome-icon-theme, но только при условии того, что тема будет использоваться с GNOME <=> пакеты с названием на icon-theme-gnome-;
* GNOME theme — gnome-control-center (FIXME: вообще-то это довольно сильная зависимость, но без GNOME Control Center тему GNOME выбрать можно только через GConf; желательно, тем не менее, найти более скромную зависимость, чтобы можно было предустановить тему, записать нужное слово в GConf и пользоваться);
При использовании bundled или нерекомендуемых тем зависимости объединяются.


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]