]> arthur.barton.de Git - netatalk.git/blob - distrib/initscripts/rc.atalk.debian.tmpl
a9fafd1320b8a2e4429b1295dc0bf830102212b9
[netatalk.git] / distrib / initscripts / rc.atalk.debian.tmpl
1 #!/bin/sh
2 ### BEGIN INIT INFO
3 # Provides:          netatalk
4 # Required-Start:    $remote_fs $syslog
5 # Required-Stop:     $remote_fs $syslog
6 # Default-Start:     2 3 4 5
7 # Default-Stop:      1
8 ### END INIT INFO
9 #
10 # netatalk      Netatalk 2.x initscript
11 # Author:       Thomas Kaiser <Thomas.Kaiser@phg-online.de>
12
13 set -e
14
15 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
16 DESC="Netatalk"
17 NAME=netatalk
18 SCRIPTNAME=/etc/init.d/$NAME
19
20 # Guard to prevent execution if netatalk was removed.
21 test -x :SBINDIR:/afpd || exit 0
22
23 # Set defaults. Please change these options in /etc/default/netatalk
24 ATALK_NAME=`/bin/hostname --short`
25 ATALK_UNIX_CHARSET='LOCALE'
26 ATALK_MAC_CHARSET='MAC_ROMAN'
27
28 CNID_METAD_RUN=yes
29 AFPD_RUN=yes
30 AFPD_MAX_CLIENTS=50
31 AFPD_UAMLIST="-U uams_dhx2.so"
32 AFPD_GUEST=nobody
33 CNID_CONFIG="-l log_note"
34
35 ATALKD_RUN=no
36 PAPD_RUN=no
37 TIMELORD_RUN=no
38 #A2BOOT_RUN=no
39 ATALK_ZONE=
40 ATALK_BGROUND=no
41
42 # old /etc/default/netatalk expected hostname in $HOSTNAME by default
43 HOSTNAME=`/bin/hostname`
44
45 # Read in netatalk configuration.
46 if [ -f /etc/default/netatalk ]; then
47     . /etc/default/netatalk
48 fi
49
50 # Start Netatalk servers.
51 atalk_startup() {
52         if [ x"$ATALKD_RUN" = x"yes" ]; then
53
54         # Try to load the AppleTalk kernel module if it was intended.
55     if grep -q '^appletalk$' /etc/modules; then
56                 /sbin/modprobe appletalk || echo "[could not load appletalk module]"
57     fi
58
59         # Start atalkd server.
60         :SBINDIR:/atalkd
61
62         # register workstation
63         :BINDIR:/nbprgstr -p 4 "$ATALK_NAME:Workstation$ATALK_ZONE"
64         :BINDIR:/nbprgstr -p 4 "$ATALK_NAME:netatalk$ATALK_ZONE"
65
66         echo -n " atalkd"
67         fi
68         
69         # prepare startup of file services
70         if [ "x$CNID_METAD_RUN" = "xyes" -a -x :SBINDIR:/cnid_metad ] ; then
71                 echo -n " cnid_metad"
72         :SBINDIR:/cnid_metad $CNID_CONFIG
73     fi
74         
75         if [ x"$AFPD_RUN" = x"yes" ]; then
76         :SBINDIR:/afpd $AFPD_UAMLIST -g $AFPD_GUEST -c $AFPD_MAX_CLIENTS \
77                 -n "$ATALK_NAME$ATALK_ZONE"
78         echo -n " afpd"
79         fi
80
81     if [ "x$ATALKD_RUN" = "xyes" ]; then
82         if [ "x$PAPD_RUN" = "xyes" ]; then
83             :SBINDIR:/papd
84             echo -n " papd"
85         fi
86
87         if [ x"$TIMELORD_RUN" = x"yes" ]; then
88             :SBINDIR:/timelord
89             echo -n " timelord"
90         fi
91     fi
92 }
93
94 case "$1" in
95         start)
96                 if [ "x$ATALK_BGROUND" = "xyes" -a "x$ATALKD_RUN" = "xyes" ]; then
97                         echo "Starting Netatalk services in the background."
98                         atalk_startup >/dev/null &
99                 else
100                         echo -n "Starting Netatalk services (this will take a while): "
101                         atalk_startup
102                         echo "."
103                 fi
104         ;;
105
106         stop)
107                 echo -n "Stopping Netatalk Daemons:"
108                 echo -n " afpd"
109                 start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/afpd
110
111                 echo -n " cnid_metad"
112                 start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/cnid_metad
113         
114                 if test -x :SBINDIR:/papd; then
115                     echo -n " papd"
116                     start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/papd
117                 fi
118         
119                 if test -x :SBINDIR:/timelord; then
120                     echo -n " timelord"
121                     start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/timelord
122                 fi
123
124                 if test -x :SBINDIR:/atalkd; then
125                     echo -n " atalkd"
126                     start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/atalkd
127                 fi
128         
129                 echo "."
130         ;;
131         
132         restart)
133                 $0 force-reload
134         ;;
135
136         force-reload)
137                 echo -n "Restarting Netatalk Daemons (this will take a while)"
138                 $0 stop
139                 echo -n "."
140                 sleep 2
141                 echo -n "."
142                 if $0 start; then
143                         echo "done."
144                 fi
145         ;;
146   
147         *)
148                 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
149                 exit 1
150         ;;
151 esac