diff options
Diffstat (limited to 'packages/netatalk/files/init')
-rwxr-xr-x | packages/netatalk/files/init | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/packages/netatalk/files/init b/packages/netatalk/files/init new file mode 100755 index 0000000000..926f9bbb1e --- /dev/null +++ b/packages/netatalk/files/init @@ -0,0 +1,111 @@ +#!/sbin/runscript + +# AppleTalk daemons. Make sure not to start atalkd in the background: +# its data structures must have time to stablize before running the +# other processes. + +depend() { + need net + use logger dns +} + +atalk_startup () { +# . /etc/netatalk/netatalk.conf + + if [ "${ATALKD_RUN}" != "no" ]; then + ebegin "Starting atalkd" + start-stop-daemon --start --quiet --exec /usr/sbin/atalkd + eend $? + + for reg in \ + "${ATALK_NAME}:Workstation${ATALK_ZONE}" \ + "${ATALK_NAME}:netatalk${ATALK_ZONE}" + do + ebegin " Registering $reg" + /usr/bin/nbprgstr "$reg" + eend $? + done + + if [ "${PAPD_RUN}" = "yes" ]; then + ebegin " Starting papd" + start-stop-daemon --start --quiet --exec /usr/sbin/papd + eend $? + fi + + fi + + if [ "${CNID_METAD_RUN}" = "yes" ] ; then + ebegin "Starting cnid_metad" + start-stop-daemon --start --quiet --exec /usr/sbin/cnid_metad + eend $? + fi + + + if [ "${AFPD_RUN}" = "yes" ]; then + ebegin "Starting afpd" + start-stop-daemon --start --quiet --exec /usr/sbin/afpd -- \ + ${AFPD_UAMLIST} -g ${AFPD_GUEST} -c ${AFPD_MAX_CLIENTS} \ + -n "${ATALK_NAME}${ATALK_ZONE}" + eend $? + fi + + if [ "${TIMELORD_RUN}" = "yes" ]; then + ebegin "Starting timelord" + start-stop-daemon --start --quiet --exec /usr/sbin/timelord + eend $? + fi +} + +start () { + . /etc/netatalk/netatalk.conf + + if [ x"${ATALK_BGROUND}" = x"yes" ]; then + echo "Starting netatalk in the background ... " + atalk_startup >& /dev/null & + else + atalk_startup + fi +} + +stop () { + . /etc/netatalk/netatalk.conf + + if [ "${AFPD_RUN}" = "yes" ]; then + ebegin "Stopping afpd" + start-stop-daemon --stop --quiet --exec /usr/sbin/afpd + eend $? + fi + + if [ "${TIMELORD_RUN}" = "yes" ]; then + ebegin "Stopping timelord" + start-stop-daemon --stop --quiet --exec /usr/sbin/timelord + eend $? + fi + + if [ "${ATALKD_RUN}" != "no" ]; then + if [ "${PAPD_RUN}" = "yes" ]; then + ebegin "Stopping papd" + start-stop-daemon --stop --quiet --exec /usr/sbin/papd + eend $? + fi + + for reg in \ + "${ATALK_NAME}:Workstation${ATALK_ZONE}" \ + "${ATALK_NAME}:netatalk${ATALK_ZONE}" + do + ebegin "Unregistering $reg" + /usr/bin/nbpunrgstr "$reg" + eend $? + done + + ebegin "Stopping atalkd" + start-stop-daemon --stop --quiet --exec /usr/sbin/atalkd + eend $? + fi + + if [ "${CNID_METAD_RUN}" = "yes" ] ; then + ebegin "Stopping cnid_metad" + start-stop-daemon --stop --quiet --exec /usr/sbin/cnid_metad + eend $? + fi +} |