]> arthur.barton.de Git - netatalk.git/blob - distrib/initscripts/rc.atalk.suse.tmpl
Fixes, from Mark Williams
[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: $local_fs
11 # Required-Stop: $local_fs
12 # Should-Start:  $network $named $remote_fs $syslog slpd
13 # Should-Stop:   $remote_fs $network $syslog
14 # Default-Start:  3 5
15 # Default-Stop:
16 # Description:    AFP over TCP and legacy AppleTalk daemons
17 ### END INIT INFO
18
19 # Netatalk :NETATALK_VERSION:
20
21 ATALK_NAME=`hostname|sed 's/\..*$//'`
22 ATALK_UNIX_CHARSET='LOCALE'
23 ATALK_MAC_CHARSET='MAC_ROMAN'
24
25 CNID_METAD_RUN=yes
26 AFPD_RUN=yes
27 AFPD_MAX_CLIENTS=20
28 AFPD_UAMLIST="-U uams_dhx.so,uams_dhx2.so"
29 AFPD_GUEST=nobody
30 CNID_CONFIG="-l log_note"
31
32 ATALKD_RUN=no
33 PAPD_RUN=no
34 TIMELORD_RUN=no
35 #A2BOOT_RUN=no
36 ATALK_ZONE=
37 ATALK_BGROUND=no
38
39 . /etc/rc.status
40 . :ETCDIR:/netatalk.conf
41
42 # startup code for everything
43 atalk_startup() {
44     if [ x"${ATALKD_RUN}" != x"no" ]; then 
45         echo -n "  Starting atalkd ... "
46         :SBINDIR:/atalkd ; my_ec=$?
47
48         if [ -x :BINDIR:/nbprgstr -a "$my_ec" = "0" ]; then     
49             echo -n ".. "
50             :BINDIR:/nbprgstr -p 4 ${ATALK_NAME}:Workstation
51             echo -n ". "
52             :BINDIR:/nbprgstr -p 4 ${ATALK_NAME}:netatalk
53         fi      
54         if [ "$my_ec" != "0" ] ; then false ; fi
55         rc_status -v
56         
57         rc_reset
58
59         if [ x"${PAPD_RUN}" = x"yes"  -a -x :SBINDIR:/papd ]; then
60             echo -n "  Starting papd"
61             :SBINDIR:/papd
62             rc_status -v
63         fi
64
65         rc_reset
66
67         if [ x"${TIMELORD_RUN}" = x"yes"  -a -x :SBINDIR:/timelord ]; then
68             echo -n "  Starting timelord"
69             :SBINDIR:/timelord
70             rc_status -v
71         fi
72
73         rc_reset
74
75     fi
76
77     if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ] ; then
78             echo -n "  Starting cnid_metad "
79             startproc :SBINDIR:/cnid_metad ${CNID_CONFIG}
80             rc_status -v
81     fi
82
83     if [ x"${AFPD_RUN}" = x"yes" -a -x :SBINDIR:/afpd ] ; then
84             echo -n "  Starting afpd ("
85             echo -n ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
86                -c ${AFPD_MAX_CLIENTS} -n ${ATALK_NAME}${ATALK_ZONE}
87             echo -n ")"
88             startproc :SBINDIR:/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
89                 ${AFPD_OPTIONS} \
90                -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}"
91             rc_status -v
92     fi
93
94         touch /var/lock/subsys/atalk 
95 }
96
97 case "$1" in
98     start)
99         if test ! -z "$UID" -a "$UID" != 0 ; then
100                 echo "you have to be root to start netatalk daemons"
101                 rc_failed
102         else
103         if [ x"${ATALK_BGROUND}" = x"yes" -a x"${ATALKD_RUN}" != x"no" ]; then 
104             echo -n "Starting netatalk in the background ..."
105             atalk_startup >& /dev/null &
106             rc_status -v
107         else
108             echo "Starting netatalk (this may take a while) ..."
109             atalk_startup
110         fi
111         fi
112         ;;
113     stop)
114         echo -n "Shutting down netatalk"
115         if test -x :SBINDIR:/papd ; then
116             killproc -TERM :SBINDIR:/papd
117         fi
118         if test -x :SBINDIR:/timelord ; then
119             killproc -TERM :SBINDIR:/timelord
120         fi
121         if test -x :SBINDIR:/atalkd ; then
122             killproc -TERM :SBINDIR:/atalkd
123         fi
124         killproc -TERM :SBINDIR:/cnid_metad
125         killproc -TERM :SBINDIR:/afpd
126
127         rc_status -v
128         ;;
129     restart|reload|force-reload)
130         $0 stop
131         $0 start
132         rc_status
133         ;;
134     status)
135         echo "Checking for netatalk services"
136         if [ x"${ATALKD_RUN}" = x"yes" -a -x :SBINDIR:/atalkd ] ; then
137             checkproc :SBINDIR:/atalkd && echo -n "atalkd: OK   " || echo -n "atalkd: No process        "
138         fi
139         if [ x"${PAPD_RUN}" = x"yes" -a -x :SBINDIR:/papd ] ; then
140             checkproc :SBINDIR:/papd && echo -n "papd: OK       " || echo -n "papd: No process  "
141         fi
142         if [ x"${TIMELORD_RUN}" = x"yes" -a -x :SBINDIR:/timelord ] ; then
143             checkproc :SBINDIR:/timelord && echo -n   " timelord: OK    " || echo -n " timelord: No process     "
144         fi
145         if [ x"${CNID_METAD_RUN}" = x"yes" ] ; then
146             checkproc :SBINDIR:/cnid_metad && echo -n " cnid_metad: OK  " || echo -n " cnid_metad: No process   "
147         fi
148         checkproc :SBINDIR:/afpd && echo "afpd: OK" || echo "afpd: No process"
149         # assume that afpd is the "main" process ...
150         checkproc :SBINDIR:/afpd
151         rc_status -v
152         ;;
153     *)
154         echo "Usage: $0 {start|stop|restart|status}"
155         exit 1
156         ;;
157 esac
158
159 rc_exit