[devel] Q: systemd policy ?

Dmitry V. Levin ldv на altlinux.org
Сб Май 5 23:55:30 MSK 2012


On Sat, May 05, 2012 at 09:24:56PM +0300, Igor Vlasenko wrote:
> Первый вопрос: где filetriggers для systemd service файлов?
> Я искал и не нашел, а ведь это важный кусок функциональности -
> при сносе/обновлении пакета надо останавливать/передергивать
> соответствующую службу.
> 
> Без них это баг, ведь иначе придется мусорить в спеках 
> наподобие федоры, (см. внизу) но еще хуже,
> ведь systemd опционален.

У нас chkconfig и service пока справляются и без триггеров.
До тех пор, пока в пакетах есть sysv-скрипты, и нет нестандартных задач,
обычные %post_service и %preun_service будут продолжать справляться.

Возможно ли создать такой универсальный файлтриггер, который бы не наломал
дров в нестандартной ситуации?  Навскидку мне кажется, что нет, но вы
можете попробовать доказать обратное.

> %post
> if [ $1 -eq 1 ] ; then
>     # Initial installation
>     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
> fi

Это сейчас делает %post_service посредством chkconfig.

> %preun
> if [ $1 -eq 0 ] ; then
>     # Package removal, not upgrade
>     /bin/systemctl --no-reload disable udpxy.service > /dev/null 2>&1 || :

Это сейчас делает %preun_service посредством chkconfig.

>     /bin/systemctl stop udpxy.service > /dev/null 2>&1 || :

Это сейчас делает %preun_service посредством service.

> fi
> %postun
> /bin/systemctl daemon-reload >/dev/null 2>&1 || :

Это сейчас делает %post_service посредством chkconfig.

> if [ $1 -ge 1 ] ; then
>     # Package upgrade, not uninstall
>     /bin/systemctl try-restart udpxy.service >/dev/null 2>&1 || :
> fi

Это сейчас делает %post_service посредством service.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20120505/ecd467e5/attachment.bin>


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