summaryrefslogtreecommitdiff
path: root/repo/samba/samba.initd
diff options
context:
space:
mode:
Diffstat (limited to 'repo/samba/samba.initd')
-rw-r--r--repo/samba/samba.initd79
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
+}
+