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