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