--- /dev/null
+#! /bin/sh
+# Copyright (c) 1996-2001 SuSE GmbH Nuernberg, Germany. All rights reserved.
+#
+# Author:
+# Reinhold Sojer, <reinhold@suse.de>
+# Olaf Hering, <olh@suse.de>
+#
+### BEGIN INIT INFO
+# Provides: netatalk
+# Required-Start: $local_fs
+# Required-Stop: $local_fs
+# Should-Start: $network $named $remote_fs $syslog slpd
+# Should-Stop: $remote_fs $network $syslog
+# Default-Start: 3 5
+# Default-Stop:
+# Description: AFP over TCP and legacy AppleTalk daemons
+### END INIT INFO
+
+# Netatalk :NETATALK_VERSION:
+
+ATALK_NAME=`hostname|sed 's/\..*$//'`
+ATALK_UNIX_CHARSET='LOCALE'
+ATALK_MAC_CHARSET='MAC_ROMAN'
+
+CNID_METAD_RUN=yes
+AFPD_RUN=yes
+AFPD_MAX_CLIENTS=20
+AFPD_UAMLIST="-U uams_dhx.so,uams_dhx2.so"
+AFPD_GUEST=nobody
+CNID_CONFIG="-l log_note"
+
+ATALKD_RUN=no
+PAPD_RUN=no
+TIMELORD_RUN=no
+#A2BOOT_RUN=no
+ATALK_ZONE=
+ATALK_BGROUND=no
+
+. /etc/rc.status
+. :ETCDIR:/netatalk.conf
+
+# startup code for everything
+atalk_startup() {
+ if [ x"${ATALKD_RUN}" != x"no" ]; then
+ echo -n " Starting atalkd ... "
+ :SBINDIR:/atalkd ; my_ec=$?
+
+ if [ -x :BINDIR:/nbprgstr -a "$my_ec" = "0" ]; then
+ echo -n ".. "
+ :BINDIR:/nbprgstr -p 4 ${ATALK_NAME}:Workstation
+ echo -n ". "
+ :BINDIR:/nbprgstr -p 4 ${ATALK_NAME}:netatalk
+ fi
+ if [ "$my_ec" != "0" ] ; then false ; fi
+ rc_status -v
+
+ rc_reset
+
+ if [ x"${PAPD_RUN}" = x"yes" -a -x :SBINDIR:/papd ]; then
+ echo -n " Starting papd"
+ :SBINDIR:/papd
+ rc_status -v
+ fi
+
+ rc_reset
+
+ if [ x"${TIMELORD_RUN}" = x"yes" -a -x :SBINDIR:/timelord ]; then
+ echo -n " Starting timelord"
+ :SBINDIR:/timelord
+ rc_status -v
+ fi
+
+ rc_reset
+
+ fi
+
+ if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ] ; then
+ echo -n " Starting cnid_metad "
+ startproc :SBINDIR:/cnid_metad ${CNID_CONFIG}
+ rc_status -v
+ fi
+
+ if [ x"${AFPD_RUN}" = x"yes" -a -x :SBINDIR:/afpd ] ; then
+ echo -n " Starting afpd ("
+ echo -n ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
+ -c ${AFPD_MAX_CLIENTS} -n ${ATALK_NAME}${ATALK_ZONE}
+ echo -n ")"
+ startproc :SBINDIR:/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
+ ${AFPD_OPTIONS} \
+ -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}"
+ rc_status -v
+ fi
+
+ touch /var/lock/subsys/atalk
+}
+
+case "$1" in
+ start)
+ if test ! -z "$UID" -a "$UID" != 0 ; then
+ echo "you have to be root to start netatalk daemons"
+ rc_failed
+ else
+ if [ x"${ATALK_BGROUND}" = x"yes" -a x"${ATALKD_RUN}" != x"no" ]; then
+ echo -n "Starting netatalk in the background ..."
+ atalk_startup >& /dev/null &
+ rc_status -v
+ else
+ echo "Starting netatalk (this may take a while) ..."
+ atalk_startup
+ fi
+ fi
+ ;;
+ stop)
+ echo -n "Shutting down netatalk"
+ if test -x :SBINDIR:/papd ; then
+ killproc -TERM :SBINDIR:/papd
+ fi
+ if test -x :SBINDIR:/timelord ; then
+ killproc -TERM :SBINDIR:/timelord
+ fi
+ if test -x :SBINDIR:/atalkd ; then
+ killproc -TERM :SBINDIR:/atalkd
+ fi
+ killproc -TERM :SBINDIR:/cnid_metad
+ killproc -TERM :SBINDIR:/afpd
+
+ rc_status -v
+ ;;
+ restart|reload|force-reload)
+ $0 stop
+ $0 start
+ rc_status
+ ;;
+ status)
+ echo "Checking for netatalk services"
+ if [ x"${ATALKD_RUN}" = x"yes" -a -x :SBINDIR:/atalkd ] ; then
+ checkproc :SBINDIR:/atalkd && echo -n "atalkd: OK " || echo -n "atalkd: No process "
+ fi
+ if [ x"${PAPD_RUN}" = x"yes" -a -x :SBINDIR:/papd ] ; then
+ checkproc :SBINDIR:/papd && echo -n "papd: OK " || echo -n "papd: No process "
+ fi
+ if [ x"${TIMELORD_RUN}" = x"yes" -a -x :SBINDIR:/timelord ] ; then
+ checkproc :SBINDIR:/timelord && echo -n " timelord: OK " || echo -n " timelord: No process "
+ fi
+ if [ x"${CNID_METAD_RUN}" = x"yes" ] ; then
+ checkproc :SBINDIR:/cnid_metad && echo -n " cnid_metad: OK " || echo -n " cnid_metad: No process "
+ fi
+ checkproc :SBINDIR:/afpd && echo "afpd: OK" || echo "afpd: No process"
+ # assume that afpd is the "main" process ...
+ checkproc :SBINDIR:/afpd
+ rc_status -v
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+ ;;
+esac
+
+rc_exit