From 6908d3842a3b69b90106646a16f51a6b089026bd Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 6 Aug 2010 11:59:37 +0200 Subject: [PATCH] man: document %triggerin usage --- man/daemon.xml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/man/daemon.xml b/man/daemon.xml index 30d39d7be1..007ec95b97 100644 --- a/man/daemon.xml +++ b/man/daemon.xml @@ -828,6 +828,10 @@ endif if [ $1 -eq 1 ]; then # 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, + # if the daemon should not be enabled by default on package + # installation fi %preun @@ -853,6 +857,29 @@ fi systemctl1 for details. + To facilitate upgrades from a package + version that shipped only SysV init scripts to + a package version that ships both a SysV init + script and a native systemd service file, use + a fragment like the following: + + %triggerin -- foobar < 0.47.11-1 +if /sbin/chkconfig foobar ; then + /bin/systemctl enable foobar.service foobar.socket >/dev/null 2>&1 || : +fi + + Where 0.47.11-1 is the first package + version that includes the native unit + file. This fragment will ensure that the first + time the unit file is installed it will be + enabled if and only if the SysV init script is + enabled, thus making sure that the the enable + status is not changed. Note that + chkconfig is a command + specific Fedora which can be used to check + whether a SysV init script is enabled. Other + operating systems will have to use different + commands here.