Initial import
[samba] / debian / samba.init
diff --git a/debian/samba.init b/debian/samba.init
new file mode 100644 (file)
index 0000000..587b027
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# Start/stops the Samba daemons (nmbd and smbd).
+#
+#
+
+# Defaults
+RUN_MODE="daemons"
+
+# Reads config file (will override defaults above)
+[ -r /etc/default/samba ] && . /etc/default/samba
+
+PIDDIR=/var/run/samba
+NMBDPID=$PIDDIR/nmbd.pid
+SMBDPID=$PIDDIR/smbd.pid
+
+# clear conflicting settings from the environment
+unset TMPDIR
+
+# See if the daemons are there
+test -x /usr/sbin/nmbd -a -x /usr/sbin/smbd || exit 0
+
+case "$1" in
+       start)
+               echo -n "Starting Samba daemons..."
+
+               # Make sure we have our PIDDIR, even if it's on a tmpfs
+               mkdir -p $PIDDIR
+               chown root:root $PIDDIR
+               chmod 755 $PIDDIR
+
+               if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/nmbd -- -D; then
+                       echo "FAILED."
+                       exit 1
+               fi
+
+               if [ "$RUN_MODE" != "inetd" ]; then
+                       #log_progress_msg "smbd"
+                       if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D; then
+                               echo "FAILED."
+                               exit 1
+                       fi
+               fi
+
+               echo "done."
+               ;;
+       stop)
+               echo -n "Stopping Samba daemons..."
+
+               start-stop-daemon --stop --quiet --pidfile $NMBDPID
+               # Wait a little and remove stale PID file
+               sleep 1
+               if [ -f $NMBDPID ] && ! ps h `cat $NMBDPID` > /dev/null
+               then
+                       # Stale PID file (nmbd was succesfully stopped),
+                       # remove it (should be removed by nmbd itself IMHO.)
+                       rm -f $NMBDPID
+               fi
+
+               if [ "$RUN_MODE" != "inetd" ]; then
+                       #log_progress_msg "smbd"
+                       start-stop-daemon --stop --quiet --pidfile $SMBDPID
+                       # Wait a little and remove stale PID file
+                       sleep 1
+                       if [ -f $SMBDPID ] && ! ps h `cat $SMBDPID` > /dev/null
+                       then
+                               # Stale PID file (nmbd was succesfully stopped),
+                               # remove it (should be removed by smbd itself IMHO.)
+                               rm -f $SMBDPID
+                       fi
+               fi
+
+               echo "done."
+
+               ;;
+       reload)
+               echo -n "Reloading /etc/samba/smb.conf..."
+
+               start-stop-daemon --stop --signal HUP --pidfile $SMBDPID
+
+               echo "done."
+               ;;
+       restart|force-reload)
+               $0 stop
+               sleep 1
+               $0 start
+               ;;
+       *)
+               echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload}"
+               exit 1
+               ;;
+esac
+
+exit 0