ports/net/netatalk/files/netatalk.in
Joe Marcus Clarke dec8123ee0 Refactor the rc.d script to add support for the netatalk.conf daemon
configuration file (see netatalk.conf(5) for more information).  Reasonable
defaults have been included as well as a sample ${PREFIX}/etc/netatalk.conf.dist
file.  Configuration options include AppleTalk zone, node name, and
maximum number of afpd clients.

Submitted by:	Böhme Ralph <ralph.boehme@supported.de>
2007-04-03 04:10:14 +00:00

67 lines
1.9 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: atalkd papd cnid_metad timelord afpd
# REQUIRE: DAEMON %%SRVLOC%%
# KEYWORD: shutdown
#
# AppleTalk daemons. Make sure not to start atalkd in the background:
# its data structures must have time to stablize before running the
# other processes.
#
# Set defaults. Please overide these in %%PREFIX%%/etc/netatalk.conf
ATALK_ZONE=
ATALK_NAME="`/bin/hostname -s`"
AFPD_UAMLIST=
AFPD_MAX_CLIENTS=50
AFPD_GUEST=nobody
# Load user config
if [ -f %%PREFIX%%/etc/netatalk.conf ]; then . %%PREFIX%%/etc/netatalk.conf; fi
netatalk_enable=${netatalk_enable-"NO"}
atalkd_enable=${atalkd_enable-"NO"}
papd_enable=${papd_enable-"NO"}
cnid_metad_enable=${cnid_metad_enable-"NO"}
afpd_enable=${afpd_enable-"NO"}
timelord_enable=${timelord_enable-"NO"}
. %%RC_SUBR%%
name=netatalk
rcvar=`set_rcvar`
hostname=`hostname -s`
start_cmd=netatalk_start
stop_cmd=netatalk_stop
netatalk_start() {
checkyesno atalkd_enable && %%PREFIX%%/sbin/atalkd
checkyesno atalkd_enable && \
%%PREFIX%%/bin/nbprgstr -p 4 "${ATALK_NAME}:Workstation${ATALK_ZONE}" &
checkyesno atalkd_enable && \
%%PREFIX%%/bin/nbprgstr -p 4 "${ATALK_NAME}:netatalk${ATALK_ZONE}" &
checkyesno papd_enable && %%PREFIX%%/sbin/papd
checkyesno cnid_metad_enable && %%PREFIX%%/sbin/cnid_metad
checkyesno timelord_enable && %%PREFIX%%/sbin/timelord
checkyesno afpd_enable && \
%%PREFIX%%/sbin/afpd -n "${ATALK_NAME}${ATALK_ZONE}" \
-s %%PREFIX%%/etc/AppleVolumes.system \
-f %%PREFIX%%/etc/AppleVolumes.default \
-g ${AFPD_GUEST} \
-c ${AFPD_MAX_CLIENTS} \
${AFPD_UAMLIST}
}
netatalk_stop() {
checkyesno timelord_enable && killall timelord
checkyesno afpd_enable && killall afpd
checkyesno cnid_metad_enable && killall cnid_metad
checkyesno papd_enable && killall papd
checkyesno atalkd_enable && killall atalkd
}
load_rc_config ${name}
run_rc_command "$1"