]> arthur.barton.de Git - netatalk.git/blob - distrib/initscripts/rc.atalk.sysv.tmpl
Merge branch 'branch-netatalk-2-1'
[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 . :ETCDIR:/netatalk.conf
41
42
43 #
44 # Start the netatalk server processes.
45 #
46
47 atalk_startup() {
48         echo 'starting netatalk daemons: \c'
49         if [ x"${ATALKD_RUN}" != x"no" ]; then
50                 if [ -x :SBINDIR:/atalkd ]; then
51                         :SBINDIR:/atalkd;               echo ' atalkd\c'
52                 fi
53
54                 if [ -x :BINDIR:/nbprgstr ]; then
55                         :BINDIR:/nbprgstr -p 4 "${ATALK_NAME}:Workstation${ATALK_ZONE}";
56                         :BINDIR:/nbprgstr -p 4 "${ATALK_NAME}:netatalk${ATALK_ZONE}";
57                                                         echo ' nbprgstr\c'
58                 fi
59
60                 if [ x"${PAPD_RUN}" = x"yes"  -a -x :SBINDIR:/papd ]; then
61                         :SBINDIR:/papd;                 echo ' papd\c'
62                 fi
63
64                 if [ x"${TIMELORD_RUN}" = x"yes"  -a -x :SBINDIR:/timelord ]; then
65                         :SBINDIR:/timelord;             echo ' timelord\c'
66                 fi
67         fi
68
69         if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ]; then
70         :SBINDIR:/cnid_metad $CNID_CONFIG
71         echo ' cnid_metad\c'
72         fi
73
74         if [  x"${AFPD_RUN}" = x"yes" -a -x :SBINDIR:/afpd ]; then
75                 :SBINDIR:/afpd  ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
76                -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}";  echo ' afpd\c'
77         fi
78
79         echo '.'
80 }
81
82
83 case "$1" in
84
85 'start')
86         if [ x"${ATALK_BGROUND}" = x"yes" -a x"${ATALKD_RUN}" != x"no" ]; then
87             echo "Starting netatalk in the background ... "
88             atalk_startup > /dev/null &
89         else
90             atalk_startup
91         fi
92         ;;
93
94 #
95 # Stop the netatalk server processes.
96 #
97 'stop')
98
99         echo 'stopping netatalk daemons:\c'
100
101         if [ -x :SBINDIR:/papd ]; then
102                 killproc papd;                  echo ' papd\c'
103         fi
104
105         if [ -x :SBINDIR:/afpd ]; then
106                 killproc afpd;                  echo ' afpd\c'
107         fi
108
109         if [ -x :SBINDIR:/cnid_metad ]; then
110                 killproc cnid_met;              echo ' cnid_metad\c'
111         fi
112
113         if [ -x :SBINDIR:/timelord ]; then
114                 killproc timelord;              echo ' timelord\c'
115         fi
116
117         # kill atalkd last, since without it the plumbing goes away.
118         if [ -x :SBINDIR:/atalkd ]; then
119                 killproc atalkd;                echo ' atalkd\c'
120         fi
121
122         echo '.'
123         ;;
124
125 #
126 # Usage statement.
127 #
128
129 *)
130         echo "usage: $0 {start|stop}"
131         exit 1
132         ;;
133 esac