On Wed, Feb 06, 2013 at 08:44:15PM +0400, Alexey Shabalin wrote: > 5 февраля 2013 г., 4:14 пользователь Dmitry V. Levin написал: > > On Mon, Feb 04, 2013 at 04:35:26PM +0400, Alexey Shabalin wrote: > >> 4 февраля 2013 г., 16:29 пользователь Pavel Shilovsky написал: > >> > 4 февраля 2013 г., 16:11 пользователь Alexey Shabalin написал: > >> >> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал: > >> >>> Добрый день! > >> >>> > >> >>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack > >> >>> (сейчас там жёстко пробито использование systemd, что делалось на > >> >>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не > >> >>> хватает того, что скрипты post_service и preun_service умели понимать, > >> >>> что система работает с systemd и вызывали соответствующие команды. > >> >>> Нашёл багу, где аналогичное уже сделано для скрипта service: > >> >>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989 > >> >> > >> >> Если Вы заметили, то баг закрыт, т.е. исправлен. > >> >> Больше ничего делать не надо. > >> >> service умеет понимать, зачем этому же учить post/preun_service? > >> > > >> > Скрипты post/preun_service вызывают помимо service команду chckonfig. > >> chkconfig тоже обучен работе с systemd. сервисы успешно регистрируются. > > > > Обучить post/preun_service по аналогии с service все равно нужно для того, > > чтобы проще было поддерживать сервисы, в которых есть service-файлы и > > уже нет init-скриптов. Но это надо сделать более тонко, чем в > > вышеупомянутом патче. > > В общем да. Существуют такие dbus-сервисы (например > accounts-daemon.service) для которых нет init-скрипта, но которые не > мешало бы рестартовать при systemd. > > > > >> Другое дело, что они по умолчанию в ALTLinux не включаются. > > > > Хорошо бы запаковать каталоги, описанные в systemd.preset(5), а также > > /lib/systemd/system-preset/99-default.preset оттуда же. > Я упаковал пока федорину копию /lib/systemd/system-preset/90-default.preset Что-то там уж больно много всякой всячины разрешено. И федоризмы остались, такие как atd (у нас atd встроен в crond). > Теперь нужно ещё добавить вызовы systemctl preset. Вот прямо в post_service его и надо будет вставить. > Я пока не пакую никаких макросов для rpm. > Надо придумать куда лучше их вставить: > http://cgit.freedesktop.org/systemd/systemd/tree/src/core/macros.systemd.in По идее, после доработки {post,preun}_service нам будет достаточно нынешних %{post,preun}_service. Насколько я понимаю, в случае sd_booted реализация post_service должна делать примерно то же, что %systemd_post и %systemd_postun_with_restart вместе взятые, в preun_service - примерно то же, что %systemd_preun. -- ldv