[devel] WM resources packaging proposal

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Сен 19 09:17:36 MSD 2008


On Fri, Sep 19, 2008 at 01:13:05AM +0300, Igor Vlasenko wrote:
> On Thu, Sep 18, 2008 at 06:30:16PM +0000, Alexey Tourbin wrote:
> > On Thu, Sep 18, 2008 at 12:36:43PM +0300, Kirill A. Shutemov wrote:
> > > On Sat, Sep 13, 2008 at 08:22:41PM +0300, Igor Vlasenko wrote:
> > > > Правильнее их оформить в виде пакета wm-common
> > > > (пример у меня в .git + пакет поехал в Daedalus).
> > 
> > Пакет wm-common, по-моему, можно не делать.  Насколько я понимаю, любой
> > window manager кладёт файл в /etc/X11/wmsession.d, и поэтому у него уже есть
> > зависимость на каталог /etc/X11/wmsession.d, а этот каталог принадлежит
> > пакету xinitrc.  В пакете xinitrc также находится скрипт /usr/sbin/update_wms.
> > Отстаётся запаковать триггер в пакет xinitrc, тогда никакие дополнительные
> > зависимости в window manager пакетах будут не нужны.
> 
> а меню, а update-desktop-db, a update-mime-info, a [еще что-то нужно будет]?
> набор зависимостей для window manager не сводится в xinitrc.
> 
> смысл wm-common -- что это псевдоним для открытого списка зависимостей.

Давайте это обсудим.  Идея триггера в том, что, получая на вход список
установленных/обновленных/удаленных файлов, он может выполнять некоторое
действие.  Но шаблон для имени файлов не является единственным критерием --
триггер может делать fs lookup (собственно, чтобы определить, был ли
файл установлен/обновлен или же удален) и что-то ещё.

Нужна спецификация, что именно должны делать конкретные триггеры и при
каких условиях.  Триггер от /etc/X11/wmsession.d отличается от триггера
/usr/lib/menu.  Они могут быть запакованы в разных пакетах -- xinitrc
и menu соответственно.

Допустим, что при изменении чего-либо в /etc/X11/wmsession.d надо также
обновлять menu.  Тогда мы имеем как бы неполные (точнее, "нелокальные")
спецификации триггеров -- надо вызывать update_menus надо даже тогда, когда
ничего не меняется в /usr/lib/menu.  Тогда, в принципе, триггер wmseesion.d
может выполнять два действия: основное (по факту задействования триггера)
и дополнительное ("нелокальное" по задействованию).  То есть триггер
wmsession.d может группировать в себе два вызова: update_wms и
update_menus.  Тогда либо в пакете xinitrc появится зависимость на menu
(и любой window manager будет автоматически вытягивать menu), либо эту
зависимость можно сделать условной: [ -x /usr/bin/update-menus ] и т.п.
В последнем случае у пакета xinitrc не будет зависимости на menu (что
вроде бы хорошо), но установка window manager уже не будет автоматически
вытягивать menu (что вроде бы плохо).

Значит, имеет место быть общий вопрос правильного "распределения"
зависимостей в иерархии пакетов.  По-моему, "открытый список зависимостей"
wm-common пока не нужен, а нужно продумать иерархию зависимостей исходя
из спецификации (которой нет), что должно происходить в общем случае.

То есть, грубо говоря, в %post-скриптах были понатырканы всякие
вызовы update-тры-ты-ты на всякий случай.  Теперь можно ещё раз
подумать, как должно быть правильно.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080919/e1f72516/attachment-0002.bin>


Подробная информация о списке рассылки Devel