diff options
Diffstat (limited to 'repo/samba/samba.initd')
-rw-r--r-- | repo/samba/samba.initd | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/repo/samba/samba.initd b/repo/samba/samba.initd new file mode 100644 index 0000000..71c7fb2 --- /dev/null +++ b/repo/samba/samba.initd @@ -0,0 +1,79 @@ +#!/sbin/openrc-run + +extra_started_commands="reload" +piddir=${piddir:-"/run/samba"} + +DAEMON=${RC_SVCNAME#samba.} +if [ "$DAEMON" != "$RC_SVCNAME" ]; then + daemon_list=$DAEMON +fi + +depend() { + need net + after firewall +} + +start_pre() { + checkpath --directory "$piddir" +} + +start_samba() { + start-stop-daemon --start --quiet --exec /usr/sbin/samba -- \ + ${samba_options:-"-D"} +} + +stop_samba() { + start-stop-daemon --stop --quiet --pidfile "$piddir"/samba.pid +} + +start_smbd() { + start-stop-daemon --start --quiet --exec /usr/sbin/smbd -- \ + ${smbd_options:-"-D"} +} + +stop_smbd() { + start-stop-daemon --stop --quiet --pidfile "$piddir"/smbd.pid +} + +start_nmbd() { + start-stop-daemon --start --quiet --exec /usr/sbin/nmbd -- \ + ${nmbd_options:-"-D"} +} + +stop_nmbd() { + start-stop-daemon --stop --quiet --pidfile "$piddir"/nmbd.pid +} + +start_winbindd() { + start-stop-daemon --start --quiet --exec /usr/sbin/winbindd -- \ + $winbindd_options +} + +stop_winbindd() { + start-stop-daemon --stop --quiet --pidfile "$piddir"/winbindd.pid +} + +start() { + for i in $daemon_list; do + ebegin "Starting $i" + start_$i + eend $? + done +} + +stop() { + for i in $daemon_list; do + ebegin "Stopping $i" + stop_$i + eend $? + done +} + +reload() { + for i in $daemon_list; do + ebegin "Reloading $i" + killall -HUP $i + eend $? + done +} + |