]> arthur.barton.de Git - netatalk.git/blob - distrib/initscripts/rc.atalk.suse.tmpl
Naming issues. From HAT.
[netatalk.git] / distrib / initscripts / rc.atalk.suse.tmpl
1 #! /bin/sh
2 # Copyright (c) 1996-2001 SuSE GmbH Nuernberg, Germany.  All rights reserved.
3 #
4 # Author: 
5 #       Reinhold Sojer, <reinhold@suse.de>
6 #       Olaf Hering, <olh@suse.de>
7
8 ### BEGIN INIT INFO
9 # Provides:       netatalk
10 # Required-Start: $network $named $remote_fs $syslog
11 # Required-Stop:
12 # Default-Start:  3 5
13 # Default-Stop:
14 # Description:    AFP over TCP and legacy Appletalk daemons
15 ### END INIT INFO
16
17 test -f /etc/rc.config && {
18 . /etc/rc.config
19
20 # Determine the base and follow a runlevel link name.
21 base=${0##*/}
22 link=${base#*[SK][0-9][0-9]}
23
24 # Force execution if not called by a runlevel directory.
25 test $link = $base && START_ATALK=yes
26 test "$START_ATALK" = "yes" || exit 0
27
28 test -f /etc/rc.status && . /etc/rc.status
29 # The echo return value for success (defined in /etc/rc.config).
30 return=$rc_done
31 }
32
33 . :ETCDIR:/netatalk.conf
34
35 # startup code for everything
36 atalk_startup() {
37     if [ x"${ATALKD_RUN}" != x"no" ]; then 
38         echo -n "  Starting atalkd:"
39         :SBINDIR:/atalkd
40
41         if [ -x :BINDIR:/nbprgstr ]; then       
42             :BINDIR:/nbprgstr -p 4 `hostname|sed 's/\..*$//'`:Workstation
43             :BINDIR:/nbprgstr -p 4 `hostname|sed 's/\..*$//'`:netatalk
44
45         fi      
46
47         if [ x"${PAPD_RUN}" = x"yes"  -a -x :SBINDIR:/papd ]; then
48             echo -n "  Starting papd:"
49             :SBINDIR:/papd
50         fi
51
52         if [ x"${TIMELORD_RUN}" = x"yes"  -a -x :SBINDIR:/timelord ]; then
53             echo -n "  Starting timelord"
54             :SBINDIR:/timelord
55         fi
56
57     fi
58
59     if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ] ; then
60             echo -n "  Starting cnid_metad:"
61         startproc :SBINDIR:/cnid_metad $CNID_CONFIG
62     fi
63
64     if [ x"${AFPD_RUN}" = x"yes" -a -x :SBINDIR:/afpd ] ; then
65             echo -n "  Starting afpd:"
66             echo ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
67                -c ${AFPD_MAX_CLIENTS} -n ${ATALK_NAME}${ATALK_ZONE}
68             startproc :SBINDIR:/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
69                -c ${AFPD_MAX_CLIENTS} -n ${ATALK_NAME}${ATALK_ZONE}
70     fi
71
72         touch /var/lock/subsys/atalk 
73 }
74
75 case "$1" in
76     start)
77         if [ x"${ATALK_BGROUND}" = x"yes" ]; then 
78             echo "Starting netatalk in the background ... "
79             atalk_startup >& /dev/null &
80         else
81             echo "Starting netatalk (this may take a while) ..."
82             atalk_startup
83         fi
84         ;;
85     stop)
86         echo -n "Shutting down netatalk:"
87         killproc -TERM :SBINDIR:/papd
88         if test -x :SBINDIR:/timelord ; then
89           killproc -TERM :SBINDIR:/timelord
90         fi        
91         killproc -TERM :SBINDIR:/atalkd
92         killproc -TERM :SBINDIR:/afpd
93         if test -x :SBINDIR:/cnid_metad ; then
94           killproc -TERM :SBINDIR:/cnid_metad
95         fi
96         echo -e "$return"
97         ;;
98     restart|reload)
99         $0 stop && $0 start || return=$rc_failed
100         ;;
101     status)
102         echo -n "Checking for service atalk:"
103         checkproc :SBINDIR:/papd && echo -n "OK" || echo -n "No process"
104         checkproc :SBINDIR:/afpd && echo -n "OK" || echo "No process"
105         if test -x :SBINDIR:/timelord ; then
106           checkproc :SBINDIR:/timelord || return=$rc_failed
107         fi
108         if test -x :SBINDIR:/cnid_metad ; then
109           checkproc :SBINDIR:/cnid_metad || return=$rc_failed
110         fi
111         checkproc :SBINDIR:/atalkd && echo "OK" || echo "No process"    
112         ;;
113     *)
114         echo "Usage: $0 {start|stop|restart|status}"
115         exit 1
116         ;;
117 esac
118
119 # Inform the caller not only verbosely and set an exit status.
120 test "$return" = "$rc_done" || exit 1
121 exit 0
122