summaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/samba/APKBUILD4
-rw-r--r--main/samba/samba.initd92
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
}
+