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