diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/samba/APKBUILD | 4 | ||||
-rw-r--r-- | main/samba/samba.initd | 92 |
2 files changed, 51 insertions, 45 deletions
diff --git a/main/samba/APKBUILD b/main/samba/APKBUILD index c89fa1327..3badb2427 100644 --- a/main/samba/APKBUILD +++ b/main/samba/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=samba pkgver=3.6.4 -pkgrel=0 +pkgrel=1 pkgdesc="Tools to access a server's filespace and printers via SMB" url="http://www.samba.org" arch="all" @@ -154,6 +154,6 @@ client() { md5sums="d8e070e2a3b12f202f347e4427469bc2 samba-3.6.4.tar.gz -f0b8d460ad4af28266ac8bc1d6fa0d31 samba.initd +044c756d3c33c2d610c40bcd76cfb75c samba.initd c150433426e18261e6e3eed3930e1a76 samba.confd b7cafabfb4fa5b3ab5f2e857d8d1c733 samba.logrotate" diff --git a/main/samba/samba.initd b/main/samba/samba.initd index 6fd817da0..c352f4304 100644 --- a/main/samba/samba.initd +++ b/main/samba/samba.initd @@ -1,59 +1,65 @@ #!/sbin/runscript -# Copyright 1999-2011 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.6/samba.initd,v 1.3 2011/09/14 22:52:33 polynomial-c Exp $ extra_started_commands="reload" +DAEMON=${SVCNAME#samba.} +if [ "$DAEMON" != "samba" ]; then + daemon_list=$DAEMON +fi + depend() { - after slapd firewall 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} + after firewall +} + +start_smbd() { + start-stop-daemon --start --quiet --exec /usr/sbin/smbd -- \ + ${smbd_options:-"-D"} +} + +stop_smbd() { + start-stop-daemon --stop --quiet --pidfile /var/run/samba/smbd.pid +} + +start_nmbd() { + start-stop-daemon --start --quiet --exec /usr/sbin/nmbd -- \ + ${nmbd_options:-"-D"} +} + +stop_nmbd() { + start-stop-daemon --stop --quiet --pidfile /var/run/samba/nmbd.pid +} + +start_winbindd() { + start-stop-daemon --start --quiet --exec /usr/sbin/winbindd -- \ + $winbindd_options } -mkdir_sambadirs() { - [ -d /var/run/samba ] || mkdir -p /var/run/samba +stop_winbindd() { + start-stop-daemon --stop --quiet --pidfile /var/run/samba/winbindd.pid } start() { - ${my_service_PRE} - mkdir_sambadirs - signal_do start && return 0 - - eerror "Error: starting services (see system logs)" - signal_do stop - return 1 + for i in $daemon_list; do + ebegin "Starting $i" + start_$i + eend $? + done } + stop() { - ${my_service_PRE} - if signal_do stop ; then - ${my_service_POST} - return 0 - fi + for i in $daemon_list; do + ebegin "Stopping $i" + stop_$i + eend $? + done } + reload() { - ${my_service_PRE} - signal_do reload + for i in $daemon_list; do + ebegin "Reloading $i" + killall -HUP $i + eend $? + done } + |