ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: Упаковка тем для GTK+/GNOME
  @ 2006-10-13  0:17 ` Alexey Rusakov
  0 siblings, 0 replies; only message in thread
From: Alexey Rusakov @ 2006-10-13  0:17 UTC (permalink / raw)
  To: devel

QA Team Robot пишет:
> libgtk-engines-default - Default GTK+2 theme engines
> * Wed Oct 11 2006 Alexey Rusakov <ktirf@altlinux> 1:2.8.0-alt3
> - replaced 'gtk-engines' prefix with 'libgtk-engine' prefix, to better
>   reflect the nature of an engine and to clearly separate it from
>   a gtk-theme (ah, and to frighten a user with 'lib' prefix, too).
> - renamed the main package to libgtk-engines-default, and development
>   subpackage to libgtk-engines-devel.
> * Tue Sep 12 2006 Alexey Rusakov <ktirf@altlinux> 1:2.8.0-alt2
> - cleaning up the mess between gtk-engines and gnome-themes.
> * Sun Sep 10 2006 Alexey Rusakov <ktirf@altlinux> 1:2.8.0-alt1
> - new version 2.8.0 (with rpmrb script)
> * Sun Sep 03 2006 Alexey Rusakov <ktirf@altlinux> 1:2.7.8-alt1
>   
Спустя год после первого подхода у меня снова дошли лапы до зоопарка из 
GTK engines, GTK themes, Metacity themes, GNOME icon themes и GNOME 
themes. В недалёком будущем, видимо, я напишу наконец документ, 
раскладывающий всё по полкам и регламентирующий упаковку всего этого 
безобразия. Сразу скажу насчёт очень обсуждавшегося когда-то вопроса - 
GTK engines предпочтительно упаковывать отдельно, особенно в тех 
случаях, когда вы знаете/предполагаете, что они используются не одной 
GTK theme.
Теперь что касается последних веяний. Пока основное новшество - это 
изменение+фиксация именования пакетов и зависимостей между ними. 
Черновик правил именования приведен ниже и следует в порядке убывания 
приоритетности (на wiki я этот текст завтра тоже положу).
Итак,
0. общее правило: предпочтительно называть пакеты полностью в нижнем 
регистре, разделяя слова дефисами.
1. Если в пакет попадает файл %_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>, 
если речь о семействе.

Таким образом, engines получили префикс lib; для названий используется 
единственное число; если вы пакуете engine вместе с theme, вы называете 
пакет на gtk2-theme-; если вы пакуете всю колбасу целиком (или почти 
целиком, icon theme нередко идёт отдельно), вы называете пакет на 
gnome-theme-.

Любые вопросы, критика, предложения - принимаются.

> gtk-engines-default - Default GTK+2 theme engines
> * Wed Oct 11 2006 Alexey Rusakov <ktirf@altlinux> 1:2.8.0-alt3
> - replaced 'gtk-engines' prefix with 'libgtk-engine' prefix, to better
>   reflect the nature of an engine and to clearly separate it from
>   a gtk-theme (ah, and to frighten a user with 'lib' prefix, too).
> - the development subpackage is now called gtk-engines-devel, without
>   '-default'. The virtual package stays 'gtk-engines-default'.
> * Tue Sep 12 2006 Alexey Rusakov <ktirf@altlinux> 1:2.8.0-alt2
> - cleaning up the mess between gtk-engines and gnome-themes.
> * Sun Sep 10 2006 Alexey Rusakov <ktirf@altlinux> 1:2.8.0-alt1
>   
Э... Это была ошибка пьяного мейнтейнера - в obsolete, пожалуйста.

-- 
  Alexey "Ktirf" Rusakov


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-10-13  0:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-13  0:17 ` [devel] I: Упаковка тем для GTK+/GNOME Alexey Rusakov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git