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