summaryrefslogblamecommitdiffstats
path: root/source/n/netatalk/rc.atalk.new
blob: 9cb17f009b1ad00b89816c026a7c728472722cc7 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
          
 



                                                                        



                                                                   







                                                     

 















                                                                         
 

























                                                                                        

 
























                                                                     
            
 
        










                                                              
       


























                                                                     
          






                  
  


                                             
    
#! /bin/sh
#
# Start/stop the Netatalk daemons.
#
# Netatalk daemons.
# If you use AppleTalk, Make sure not to start atalkd in the background:
# its data structures must have time to stablize before running the
# other processes.
#

#
# kill the named process(es)
#
killproc() {
	pid=`/usr/bin/ps -e |
	     /usr/bin/grep $1 |
	     /usr/bin/sed -e 's/^  *//' -e 's/ .*//'`
	[ "$pid" != "" ] && kill $pid
}

# netatalk.conf expects hostname in $HOSTNAME by default
HOSTNAME=`hostname`

. /etc/netatalk/netatalk.conf


#
# Start the netatalk server processes.
#

atalk_startup() {
	echo -n 'starting netatalk daemons: '
	if [ x"${ATALKD_RUN}" != x"no" ]; then
		if [ -x /usr/sbin/atalkd ]; then
			/usr/sbin/atalkd;		echo -n ' atalkd'
		fi

		if [ -x /usr/bin/nbprgstr ]; then
			/usr/bin/nbprgstr -p 4 "${ATALK_NAME}:Workstation${ATALK_ZONE}";
			/usr/bin/nbprgstr -p 4 "${ATALK_NAME}:netatalk${ATALK_ZONE}";
							echo -n ' nbprgstr'
		fi

		if [ x"${PAPD_RUN}" = x"yes"  -a -x /usr/sbin/papd ]; then
			/usr/sbin/papd;			echo -n ' papd'
		fi

		if [ x"${TIMELORD_RUN}" = x"yes"  -a -x /usr/sbin/timelord ]; then
			/usr/sbin/timelord;		echo -n ' timelord'
		fi
	fi

	if [ x"${CNID_METAD_RUN}" = x"yes" -a -x /usr/sbin/cnid_metad ]; then
        /usr/sbin/cnid_metad $CNID_CONFIG
        echo -n ' cnid_metad'
	fi

	if [  x"${AFPD_RUN}" = x"yes" -a -x /usr/sbin/afpd ]; then
		/usr/sbin/afpd  ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
               -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}";	echo -n ' afpd'
	fi

	echo '.'
}

atalk_shutdown() {
	echo -n 'stopping netatalk daemons:'

	if [ -x /usr/sbin/papd ]; then
		killproc papd;			echo -n ' papd'
	fi

	if [ -x /usr/sbin/afpd ]; then
		killproc afpd;			echo -n ' afpd'
	fi

	if [ -x /usr/sbin/cnid_metad ]; then
		killproc cnid_met;		echo -n ' cnid_metad'
	fi

	if [ -x /usr/sbin/timelord ]; then
		killproc timelord;		echo -n ' timelord'
	fi

	# kill atalkd last, since without it the plumbing goes away.
	if [ -x /usr/sbin/atalkd ]; then
		killproc atalkd;		echo -n ' atalkd'
	fi
	echo '.'
}
case "$1" in

'start')
        if [ x"${ATALK_BGROUND}" = x"yes" ]; then
            echo -n "Starting netatalk in the background ... "
            atalk_startup > /dev/null &
        else
            atalk_startup
        fi
        ;;

#
# Stop the netatalk server processes.
#
'stop')

	echo -n 'stopping netatalk daemons:'

	if [ -x /usr/sbin/papd ]; then
		killproc papd;			echo -n ' papd'
	fi

	if [ -x /usr/sbin/afpd ]; then
		killproc afpd;			echo -n ' afpd'
	fi

	if [ -x /usr/sbin/cnid_metad ]; then
		killproc cnid_met;		echo -n ' cnid_metad'
	fi

	if [ -x /usr/sbin/timelord ]; then
		killproc timelord;		echo -n ' timelord'
	fi

	# kill atalkd last, since without it the plumbing goes away.
	if [ -x /usr/sbin/atalkd ]; then
		killproc atalkd;		echo -n ' atalkd'
	fi

	echo '.'
	;;

'restart')
atalk_shutdown
atalk_startup
	;;
#
# Usage statement.
#

*)
	echo "usage: $0 {start|stop|restart}"
	exit 1
	;;
esac