[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