]> arthur.barton.de Git - netatalk.git/blob - distrib/initscripts/rc.atalk.debian.tmpl
maintenance of initscripts and netatalk.conf.
[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 ATALK_ZONE=
34 CNID_CONFIG="-l log_note"
35
36 ATALKD_RUN=no
37 PAPD_RUN=no
38 TIMELORD_RUN=no
39 #A2BOOT_RUN=no
40 ATALK_ZONE=
41 ATALK_BGROUND=no
42
43 # Read in netatalk configuration.
44 if [ -f /etc/default/netatalk ]; then
45     . /etc/default/netatalk
46 fi
47
48 # Start Netatalk servers.
49 atalk_startup() {
50         if [ x"$ATALKD_RUN" = x"yes" ]; then
51
52         # Try to load the AppleTalk kernel module if it was intended.
53     if grep -q '^appletalk$' /etc/modules; then
54                 /sbin/modprobe appletalk || echo "[could not load appletalk module]"
55     fi
56
57         # Start atalkd server.
58         :SBINDIR:/atalkd
59
60         # register workstation
61         :BINDIR:/nbprgstr -p 4 "$ATALK_NAME:Workstation$ATALK_ZONE"
62         :BINDIR:/nbprgstr -p 4 "$ATALK_NAME:netatalk$ATALK_ZONE"
63
64         echo -n " atalkd"
65         fi
66         
67         # prepare startup of file services
68         if [ "x$CNID_METAD_RUN" = "xyes" -a -x :SBINDIR:/cnid_metad ] ; then
69                 echo -n " cnid_metad"
70         :SBINDIR:/cnid_metad $CNID_CONFIG
71     fi
72         
73         if [ x"$AFPD_RUN" = x"yes" ]; then
74         :SBINDIR:/afpd $AFPD_UAMLIST -g $AFPD_GUEST -c $AFPD_MAX_CLIENTS \
75                 -n "$ATALK_NAME$ATALK_ZONE"
76         echo -n " afpd"
77         fi
78
79     if [ "x$ATALKD_RUN" = "xyes" ]; then
80         if [ "x$PAPD_RUN" = "xyes" ]; then
81             :SBINDIR:/papd
82             echo -n " papd"
83         fi
84
85         if [ x"$TIMELORD_RUN" = x"yes" ]; then
86             :SBINDIR:/timelord
87             echo -n " timelord"
88         fi
89     fi
90 }
91
92 case "$1" in
93         start)
94                 if [ "x$ATALK_BGROUND" = "xyes" -a "x$ATALKD_RUN" = "xyes" ]; then
95                         echo "Starting Netatalk services in the background."
96                         atalk_startup >/dev/null &
97                 else
98                         echo -n "Starting Netatalk services (this will take a while): "
99                         atalk_startup
100                         echo "."
101                 fi
102         ;;
103
104         stop)
105                 echo -n "Stopping Netatalk Daemons:"
106                 echo -n " afpd"
107                 start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/afpd
108
109                 echo -n " cnid_metad"
110                 start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/cnid_metad
111         
112                 if test -x :SBINDIR:/papd; then
113                     echo -n " papd"
114                     start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/papd
115                 fi
116         
117                 if test -x :SBINDIR:/timelord; then
118                     echo -n " timelord"
119                     start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/timelord
120                 fi
121
122                 if test -x :SBINDIR:/atalkd; then
123                     echo -n " atalkd"
124                     start-stop-daemon --stop --quiet --oknodo --exec :SBINDIR:/atalkd
125                 fi
126         
127                 echo "."
128         ;;
129         
130         restart)
131                 $0 force-reload
132         ;;
133
134         force-reload)
135                 echo -n "Restarting Netatalk Daemons (this will take a while)"
136                 $0 stop
137                 echo -n "."
138                 sleep 2
139                 echo -n "."
140                 if $0 start; then
141                         echo "done."
142                 fi
143         ;;
144   
145         *)
146                 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
147                 exit 1
148         ;;
149 esac