1#! /bin/sh 2# 3# Start/stop the Netatalk :NETATALK_VERSION: daemons. 4# 5# If you use AppleTalk, Make sure not to start atalkd in the background: 6# its data structures must have time to stablize before running the 7# other processes. 8# 9 10# 11# kill the named process(es) 12# 13killproc() { 14 pid=`/usr/bin/ps -e | 15 /usr/bin/grep $1 | 16 /usr/bin/sed -e 's/^ *//' -e 's/ .*//'` 17 [ "$pid" != "" ] && kill $pid 18} 19 20# default 21ATALK_NAME=`hostname|cut -d. -f1` 22ATALK_UNIX_CHARSET='LOCALE' 23ATALK_MAC_CHARSET='MAC_ROMAN' 24 25CNID_METAD_RUN=yes 26AFPD_RUN=yes 27AFPD_MAX_CLIENTS=20 28AFPD_UAMLIST="-U uams_dhx.so,uams_dhx2.so" 29AFPD_GUEST=nobody 30CNID_CONFIG="-l log_note" 31 32ATALKD_RUN=no 33PAPD_RUN=no 34TIMELORD_RUN=no 35#A2BOOT_RUN=no 36ATALK_ZONE= 37ATALK_BGROUND=no 38 39# old netatalk.conf expected hostname in $HOSTNAME by default 40HOSTNAME=`hostname` 41 42. :ETCDIR:/netatalk.conf 43 44 45# 46# Start the netatalk server processes. 47# 48 49atalk_startup() { 50 echo 'starting netatalk daemons: \c' 51 if [ x"${ATALKD_RUN}" != x"no" ]; then 52 if [ -x :SBINDIR:/atalkd ]; then 53 :SBINDIR:/atalkd; echo ' atalkd\c' 54 fi 55 56 if [ -x :BINDIR:/nbprgstr ]; then 57 :BINDIR:/nbprgstr -p 4 "${ATALK_NAME}:Workstation${ATALK_ZONE}"; 58 :BINDIR:/nbprgstr -p 4 "${ATALK_NAME}:netatalk${ATALK_ZONE}"; 59 echo ' nbprgstr\c' 60 fi 61 62 if [ x"${PAPD_RUN}" = x"yes" -a -x :SBINDIR:/papd ]; then 63 :SBINDIR:/papd; echo ' papd\c' 64 fi 65 66 if [ x"${TIMELORD_RUN}" = x"yes" -a -x :SBINDIR:/timelord ]; then 67 :SBINDIR:/timelord; echo ' timelord\c' 68 fi 69 fi 70 71 if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ]; then 72 :SBINDIR:/cnid_metad $CNID_CONFIG 73 echo ' cnid_metad\c' 74 fi 75 76 if [ x"${AFPD_RUN}" = x"yes" -a -x :SBINDIR:/afpd ]; then 77 :SBINDIR:/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \ 78 -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}"; echo ' afpd\c' 79 fi 80 81 echo '.' 82} 83 84 85case "$1" in 86 87'start') 88 if [ x"${ATALK_BGROUND}" = x"yes" -a x"${ATALKD_RUN}" != x"no" ]; then 89 echo "Starting netatalk in the background ... " 90 atalk_startup > /dev/null & 91 else 92 atalk_startup 93 fi 94 ;; 95 96# 97# Stop the netatalk server processes. 98# 99'stop') 100 101 echo 'stopping netatalk daemons:\c' 102 103 if [ -x :SBINDIR:/papd ]; then 104 killproc papd; echo ' papd\c' 105 fi 106 107 if [ -x :SBINDIR:/afpd ]; then 108 killproc afpd; echo ' afpd\c' 109 fi 110 111 if [ -x :SBINDIR:/cnid_metad ]; then 112 killproc cnid_met; echo ' cnid_metad\c' 113 fi 114 115 if [ -x :SBINDIR:/timelord ]; then 116 killproc timelord; echo ' timelord\c' 117 fi 118 119 # kill atalkd last, since without it the plumbing goes away. 120 if [ -x :SBINDIR:/atalkd ]; then 121 killproc atalkd; echo ' atalkd\c' 122 fi 123 124 echo '.' 125 ;; 126 127# 128# Usage statement. 129# 130 131*) 132 echo "usage: $0 {start|stop}" 133 exit 1 134 ;; 135esac 136