#!/bin/sh #PKG samba #INIT 80 . /etc/rc.conf check_mount() { sed -n -e '/^#/d' -e '/path/s/^.*=//p' \ /etc/samba/smb.conf | while read path; do grep -v '^#' /etc/fstab | fgrep -q "$path" || continue count=0 while :; do if fgrep -q "$path" /proc/mounts; then logger -t smb "Device mounted, starting samba" break fi if test $count -eq 9; then logger -s "required filesystem missing" exit 1 fi sleep 1 count=$(($count+1)) done done } case $1 in autostop) ;; autostart) test x"${samba:-NO}" = x"NO" && exit 0 test x"$samba" = x"DAEMON" && test -x /bin/mksh && exec mksh -T- $0 start exec sh $0 start ;; start) check_mount [ -d /var/run/samba ] || mkdir -p /var/run/samba [ -d /var/log/samba ] || mkdir -p /var/log/samba /usr/sbin/nmbd -D /usr/sbin/smbd -D ;; stop) kill $(pgrep -f /usr/sbin/nmbd) kill $(pgrep -f /usr/sbin/smbd) ;; restart) sh $0 stop sh $0 start ;; *) echo "usage: $0 {start | stop | restart}" exit 1 esac exit $?