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