]> git.pld-linux.org Git - packages/netatalk.git/blame - netatalk.init
- typos / formatting / etc.
[packages/netatalk.git] / netatalk.init
CommitLineData
6d921f88 1#! /bin/sh
dc30eb6d 2# chkconfig: 345 91 35
8f010836 3# description: This package enables Linux to talk to Macintosh \
4# computers via the AppleTalk networking protocol and \
5# provides printer, file sharing, and AppleTalk routing \
dc30eb6d 6# services.
6d921f88 7#
8# AppleTalk daemons. Make sure not to start atalkd in the background:
9# its data structures must have time to stablize before running the
10# other processes.
11
12# Source function library.
13. /etc/rc.d/init.d/functions
14
15# Source networking configuration.
16. /etc/sysconfig/network
17
18# Quickly probe for appletalk and warn if we can't find it
19/sbin/modprobe appletalk || echo "[could not load appletalk module]"
20
21# Check for IP Encapsulation support
22#/sbin/modprobe ipddp || echo "[could not load IP encapsulation]"
23
24# read in netatalk configuration
25. /etc/sysconfig/netatalk
26
27# Check that networking is up.
dc30eb6d 28if is_yes "${NETWORKING}"; then
70caa4ff 29 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
dc30eb6d 30 # nls "ERROR: Networking is down. %s can't be run." <service>
31 msg_network_down "AppleTalk"
32 exit 1
33 fi
34else
35 exit 0
36fi
6d921f88 37
38# initialize return values
39RETVAL=1
40RETVAL_ATALKD=0
41RETVAL_PAPD=0
42RETVAL_AFPD=0
43
44# startup code for everything
45case "$1" in
dc30eb6d 46 start)
6d921f88 47 if [ -f /var/lock/subsys/atalk ]; then
dc30eb6d 48 msg_already_running "AppleTalk"
8dcd3e0a 49 exit 0
dc30eb6d 50 fi
6d921f88 51
dc30eb6d 52 if is_no "${ATALKD_RUN}"; then
6d921f88 53 msg_starting "atalkd"
54 daemon atalkd
55 RETVAL_ATALKD=$?
dc30eb6d 56 run_cmd $(nls "Registering %s" "${ATALK_NAME}:Workstation${ATALK_ZONE}:") "nbprgstr -p 4 \"${ATALK_NAME}:Workstation${ATALK_ZONE}\""
57 run_cmd $(nls "Registering %s" "${ATALK_NAME}:netatalk${ATALK_ZONE}:") "nbprgstr -p 4 \"${ATALK_NAME}:netatalk${ATALK_ZONE}\""
58 if is_yes "${PAPD_RUN}"; then
59 msg_starting "papd"
60 daemon papd
61 RETVAL_PAPD=$?
6d921f88 62 fi
63 fi
64
dc30eb6d 65 if is_yes "${TIMELORD_RUN}"; then
6d921f88 66 msg_starting "timelord"
67 daemon timelord
68 fi
69
dc30eb6d 70 if is_yes "${AFPD_RUN}"; then
6d921f88 71 msg_starting "afpd"
dc30eb6d 72 daemon afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} -c ${AFPD_MAX_CLIENTS} -n \"${ATALK_NAME}${ATALK_ZONE}\"
73 RETVAL_AFPD=$?
74 fi
6d921f88 75
dc30eb6d 76 if [ "$RETVAL_ATALKD" -eq 0 -a "$RETVAL_PAPD" -eq 0 -a "$RETVAL_AFPD" -eq 0 ]; then
8dcd3e0a 77 RETVAL=0
78 touch /var/lock/subsys/atalk || RETVAL=1
6d921f88 79 fi
80 ;;
81
dc30eb6d 82 stop)
6d921f88 83 if [ ! -f /var/lock/subsys/atalk ]; then
dc30eb6d 84 msg_not_running "AppleTalk"
8dcd3e0a 85 exit 0
6d921f88 86 fi
87
dc30eb6d 88 if is_no "${ATALKD_RUN}"; then
89 if is_yes "${PAPD_RUN}"; then
6d921f88 90 msg_stopping "papd"
91 killproc papd
dc30eb6d 92 fi
6d921f88 93
dc30eb6d 94 if is_yes "${TIMELORD_RUN}"; then
6d921f88 95 msg_stopping "timelord"
96 killproc timelord
97 fi
98
dc30eb6d 99 run_cmd $(nls "Unregistering %s" "${ATALK_NAME}:Workstation${ATALK_ZONE}:") "nbpunrgstr \"${ATALK_NAME}:Workstation${ATALK_ZONE}\""
100 run_cmd $(nls "Unregistering %s" "${ATALK_NAME}:netatalk${ATALK_ZONE}:") "nbpunrgstr \"${ATALK_NAME}:netatalk${ATALK_ZONE}\""
6d921f88 101
102 msg_stopping "atalk"
dc30eb6d 103 killproc atalkd
6d921f88 104 fi
105
dc30eb6d 106 if [ is_yes "${AFPD_RUN}"; then
6d921f88 107 msg_stopping "afpd"
108 killproc afpd
6d921f88 109 fi
110
8dcd3e0a 111 RETVAL=0
112 rm -f /var/lock/subsys/atalk >/dev/null 2>&1
6d921f88 113 ;;
8dcd3e0a 114 restart|force-reload)
6d921f88 115 $0 stop
116 $0 start
8dcd3e0a 117 exit $?
6d921f88 118 ;;
dc30eb6d 119 status)
6d921f88 120 status atalkd
8dcd3e0a 121 exit $?
6d921f88 122 ;;
123 *)
8dcd3e0a 124 msg_usage "$0 {start|stop|restart|force-reload|status}"
125 exit 3
6d921f88 126esac
127
128exit $RETVAL
This page took 0.4894 seconds and 4 git commands to generate.