[devel] WM resources packaging proposal

Igor Vlasenko =?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Сб Сен 13 21:22:41 MSD 2008


Проект полиси по упаковке WM-специфических ресурсов
(menu, .desktop файлов и, возможно, в будущем, других ресурсов).
---------------------------------------------------

1) Вызовы 
%update_menus
%update_desktopdb
%update_wms
 в %post/un пакетов в Сизифе объявить устаревшими.

Вместо этого в 3 пакета: menu, desktop-file-utils, xinitrc 
должны быть упакованы соответствующие posttrans filetriggers.

2) Явные зависимости пакетов с WM-специфическими ресурсами
на пакеты menu и desktop-file-utils объявить устаревшими.

(Обоснование: пакеты (тот же mutt) работающие на без-X-овом сервере,
могут иметь .desktop файлы. при этом на без-X-овом сервере
зависимость на menu/desktop-file-utils явно избыточна.)

Однако зависимости на menu/desktop-file-utils должны где-то
оставаться, иначе эти утилиты вообще ставиться не будут.

Логично, чтобы эти зависимости стояли у пакетов, которые реально
используют меню и desktop_db --- у оконных менеджеров и DE.

Однако, несколько неправильно добавлять туда 
потенциально открытые списки 
Requires: menu desktop-file-utils xinitrc ...
и в %post/un
%update_menus
%update_desktopdb
%update_wms
...

Правильнее их оформить в виде пакета wm-common
(пример у меня в .git + пакет поехал в Daedalus).

Поэтому
3) WM (оконные менеджеры) и DE должны иметь 
Requires: wm-common 
(вытягивает по зависимостям menu desktop-file-utils xinitrc ...)
BuildRequires: rpm-macros-wm-common
и иметь в 
%post
%update_wm

%postun
%clean_wm

соответствующие макросы раскрываются в скрипт %_sbindir/update_wm,
который и вызывает
%update_menus
%update_desktopdb
%update_wms
...

Макрос %update_wm в %post
нужен, чтобы бороться с коллизиями, когда 
posttrans filetriggers устанавливаются одной транзакцией с файлами,
на которые они должны реагировать.

Но в принципе, это зависит от реализации posttrans filetriggers.
Это уже вопрос к Алексею.

Если у Алексея получится так, что установленные _в самой_ транзакции
posttrans filetriggers запускаются на ней наравне с триггерами,
установленными _до_ этой транзакции, тогда этот костыль будет тоже
не нужен.

Уважаемые коллеги, жду ваших отзывов.
Если поддержите, буду продвигать как полиси.

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine




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