From: Stefan Schantl Date: Thu, 13 Oct 2011 19:25:26 +0000 (+0200) Subject: radvd: Add scriptlet for user / group creation and systemd interaction. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fddeee6c6b77bd10fc4746b635488bc412bdb7db;p=ipfire-3.x.git radvd: Add scriptlet for user / group creation and systemd interaction. Fixes #207. Conflicts: radvd/radvd.nm --- diff --git a/radvd/radvd.nm b/radvd/radvd.nm index bf4b6507e..89d91a2d1 100644 --- a/radvd/radvd.nm +++ b/radvd/radvd.nm @@ -5,7 +5,7 @@ name = radvd version = 1.8.3 -release = 1 +release = 2 groups = System/Daemons url = http://www.litech.org/radvd/ @@ -41,6 +41,41 @@ end packages package %{name} - reuires = /lib/network/network-radvd-config + requires = /lib/network/network-radvd-config + + prerequires += shadow-utils + + script prein + getent group radvd >/dev/null || groupadd -r radvd + + # The radvd user also needs to be in the wheel group to get access to + # /proc. + getent passwd radvd >/dev/null || \ + useradd -r -g radvd -G wheel -d / -s /sbin/nologin \ + -c "User for the Router Advertisement daemon." radvd + exit 0 + end + + # Just search for new unit files that were just installed. + script postin + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + end + + # Disable the service that is to be removed and stop it if it is still running. + script preun + /bin/systemctl --no-reload disable radvd.service >/dev/null 2>&1 || : + /bin/systemctl stop radvd.service >/dev/null 2>&1 || : + end + + # Just tell systemd that unitfiles have been removed. + script postun + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + end + + # Try to restart the service if it is running. + script postup + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + /bin/systemctl try-restart radvd.service >/dev/null 2>&1 || : + end end end