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

Упаковка тем 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/index.theme

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

Этот раздел касается упаковки сущностей по бинарным пакетам (.rpm), а не по исходным (.src.rpm). Упаковка сущностей по исходным пакетам может быть произвольной.
Помимо очевидного разбиения «пакет на сущность» рекомендуются к использованию следующие варианты:
1. Bundled GTK+ 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 icon theme).


TODO: Дальнейшее нужно отформатировать и переписать

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

  1. Общее правило: предпочтительно называть пакеты полностью в нижнем регистре, разделяя слова дефисами. Префиксы в единственном числе используются при упаковке одной темы (для GTK+ — в том числе если в пакет с темой попадает её engine). Примеры: gnome-theme-long-name, libgtk-engines-default.
  2. Если в пакет попадает файл %_datadir/themes/ThemeName/index.theme (то есть файл GNOME theme), пакету надлежит требовать (либо предоставлять, если он их содержит)

соответствующие Metacity theme, GTK+ theme и GNOME icon theme;

название – gnome-theme-<theme-name>, либо gnome-themes-<name>, если

в пакете семейство тем.
*иначе*
2. Если в пакет попадает файл %_datadir/themes/ThemeName/gtk-2.0/gtkrc
(то есть файл GTK+ theme),

пакету надлежит требовать (либо предоставлять, если он их содержит)

пакеты со всеми engines, используемыми этой темой (находятся по слову
engine в файле gtkrc – в общем случае их может быть больше одного);

название – gtk2-theme-<theme-name>, либо gtk2-themes-<name>, если в 

пакете семейство тем. Разрешается упаковывать в один пакет темы для 
GTK+1 и GTK+2, при этом рекомендуемое название – gtk-theme-<theme-name>
*иначе*
Следующие три варианта исключают друг друга: крайне не рекомендуется
упаковывать в один пакет engine и icon theme, или engine и Metacity
theme, или icon theme и Metacity theme. Возможна упаковка всех трёх
частей в один пакет, если в этот же пакет попадает тема GTK+ (см. пункт 2).
3a. Если в пакет попадает файл
%_datadir/themes/ThemeName/metacity*/metacity-theme-*.xml

пакету надлежит требовать пакет metacity (не metacity-gnome);
название – metacity-theme-<theme-name>, либо metacity-themes-<name>,

если в пакете семейство тем.
3b. Если в пакет попадают файлы из %_iconsdir

название – icon-theme[-gnome]-<name>; используйте префикс gnome-,

когда известно, что тема сделана под GNOME.
3с. Если в пакет попадает файл
%_libdir/gtk-2.0/*/engines/lib<engine_name>.so

пакет должен требовать библиотеки из пакета libgtk+2 (об этом

позаботится findreq, явную зависимость ставить не рекомендуется);

название – libgtk-engine-<engine-name>, либо libgtk-engines-<name>,

если речь о семействе.


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