<programlisting>%post
if [ $1 -eq 1 ]; then
- # Enable (but don't start) the units by default
+ # On install, enable (but don't start) the units by default
/bin/systemctl enable foobar.service foobar.socket >/dev/null 2>&1 || :
# Alternatively, just call /bin/systemctl daemon-reload here,
%preun
if [ $1 -eq 0 ]; then
- # Disable and stop the units
+ # On uninstall, disable and stop the units
/bin/systemctl disable foobar.service foobar.socket >/dev/null 2>&1 || :
/bin/systemctl stop foobar.service foobar.socket >/dev/null 2>&1 || :
fi
%postun
+# On upgrade and uninstall, reload init system configuration, to make systemd honour changed unit files
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
- # On upgrade, reload init system configuration if we changed unit files
- /bin/systemctl daemon-reload >/dev/null 2>&1 || :
- # On upgrade, restart the daemon
+ # Optionally, on upgrade, restart the daemon
/bin/systemctl try-restart foobar.service >/dev/null 2>&1 || :
fi</programlisting>