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