1 # pre/post script for packages supporting systemd units
3 # Authors: Bartlomiej Zimon <uzi18@o2.pl>
4 # Jan Rękorajski <baggins@mimuw.edu.pl>
8 # %systemd_service <unit command> service_name1.service service_name2.service
9 # %systemd_service_enable service_name1.service service_name2.service
10 # %systemd_service_disable service_name1.service service_name2.service
11 # %systemd_service_start service_name1.service service_name2.service
12 # %systemd_service_stop service_name1.service service_name2.service
13 # %systemd_service_restart service_name1.service service_name2.service
14 # %systemd_service_reload service_name1.service service_name2.service
16 # %systemd_post service_name1.service service_name2.service
17 # %systemd_preun service_name1.service service_name2.service
18 # %systemd_trigger service_name1.service service_name2.service
22 # %systemd_post %{name}.service
25 # %systemd_preun %{name}.service
30 # %triggerpostun -- %{name} < first-version-with-systemd-units
31 # %systemd_trigger %{name}.service
34 # BuildRequires: rpmbuild(macros) >= 1.671
35 # Requires: systemd-units >= 38
37 %systemd_reload /bin/systemd_booted && SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog /bin/systemctl daemon-reload || :
39 %systemd_service_enable() \
40 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
41 /bin/systemctl preset --preset-mode=enable-only %{*} || : \
42 /bin/systemd_booted && echo 'Run "/bin/systemctl start %{*}" to start %{*}.' || : \
45 %systemd_service_disable() \
46 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
47 /bin/systemctl --quiet disable %{*} || : \
51 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
52 /bin/systemd_booted && /bin/systemctl %{*} || : \
55 %systemd_service_start() \
56 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
57 /bin/systemd_booted && /bin/systemctl start %{*} || : \
60 %systemd_service_stop() \
61 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
62 /bin/systemd_booted && /bin/systemctl stop %{*} || : \
65 # NOTE: doesn't honour RPM_SKIP_AUTO_RESTART, avoid using
66 %systemd_service_restart() \
67 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
68 /bin/systemd_booted && /bin/systemctl try-restart %{*} || : \
71 # NOTE: doesn't honour RPM_SKIP_AUTO_RESTART, avoid using
72 %systemd_service_reload() \
73 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
74 /bin/systemd_booted && /bin/systemctl reload %{*} || : \
77 # NOTE: this trigger disobeys systemd.preset in favour of RPM_ENABLE_SYSTEMD_SERVICE
79 want_enable_service() { \
80 [ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm \
81 [ ${RPM_ENABLE_SYSTEMD_SERVICE:-yes} = no ] && return 1 \
82 [ "$(echo /etc/rc.d/rc[0-6].d/S[0-9][0-9]${1%.service})" = "/etc/rc.d/rc[0-6].d/S[0-9][0-9]${1%.service}" ] && return 1 \
85 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
87 if want_enable_service $s; then \
88 /bin/systemctl enable $s || : \
94 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
95 /bin/systemd_booted && /bin/systemctl daemon-reload || : \
96 if [ $1 -eq 1 ]; then \
97 /bin/systemctl preset --preset-mode=enable-only %{*} >/dev/null || : \
98 /bin/systemd_booted && echo 'Run "/bin/systemctl start %{*}" to start %{*}.' || : \
99 elif [ -z "$NORESTART" ]; then \
100 /bin/systemd_booted && /bin/systemctl try-restart %{*} || : \
102 /bin/systemd_booted && echo 'Run "/bin/systemctl restart %{*}" to restart %{*}.' || : \
107 if [ $1 -eq 0 ]; then \
108 export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
109 /bin/systemd_booted && /bin/systemctl stop %{*} || : \
110 /bin/systemctl --quiet disable %{*} || : \
114 %systemdunitdir /lib/systemd/system
115 %systemduserunitdir /usr/lib/systemd/user
116 %systemdtmpfilesdir /usr/lib/tmpfiles.d
118 # BuildRequires: rpmbuild(macros) >= 1.721
119 %journal_catalog_update() [ ! -x /bin/journalctl ] || /bin/journalctl --update-catalog >/dev/null 2>&1 || :