diff options
Diffstat (limited to 'net-fs/samba/files/3.5/samba.initd')
-rw-r--r-- | net-fs/samba/files/3.5/samba.initd | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/net-fs/samba/files/3.5/samba.initd b/net-fs/samba/files/3.5/samba.initd new file mode 100644 index 0000000..a1a2fae --- /dev/null +++ b/net-fs/samba/files/3.5/samba.initd @@ -0,0 +1,59 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/3.5/samba.initd,v 1.2 2010/12/20 20:35:07 vostorga Exp $ + +opts="reload" + +depend() { + after slapd + need net + use cupsd +} + +DAEMONNAME="${SVCNAME##samba.}" +[ "${DAEMONNAME}" != "samba" ] && daemon_list=${DAEMONNAME} + +signal_do() { + local signal="$1" + [ -z "${signal}" ] && return 0 + + local result=0 last_result=0 daemon= cmd_exec= + for daemon in ${daemon_list} ; do + eval cmd_exec=\$${daemon}_${signal} + if [ -n "${cmd_exec}" ]; then + ebegin "${my_service_name} -> ${signal}: ${daemon}" + #echo ${cmd} '->' ${!cmd} + ${cmd_exec} > /dev/null + last_result=$? + eend ${last_result} + fi + result=$(( ${result} + ${last_result} )) + done + return ${result} +} + +mkdir_sambadirs() { + [ -d /var/run/samba ] || mkdir -p /var/run/samba +} + +start() { + ${my_service_PRE} + mkdir_sambadirs + signal_do start && return 0 + + eerror "Error: starting services (see system logs)" + signal_do stop + return 1 +} +stop() { + ${my_service_PRE} + if signal_do stop ; then + ${my_service_POST} + return 0 + fi +} +reload() { + ${my_service_PRE} + signal_do reload +} |