--- beacon.in.orig 2010-03-27 04:26:55.000000000 -0700 +++ beacon.in 2010-10-06 19:57:16.000000000 -0700 @@ -8,23 +8,41 @@ # # Add the following lines to /etc/rc.conf to enable beacon. # -# beacon_enable="YES" - -beacon_enable=${beacon_enable-"NO"} +# beacon_enable="YES" +# +# Optional settings: +# +# beacon_program (default: %%PREFIX%%/bin/beacon) +# beacon_config (default: %%PREFIX%%/etc/beacon.conf) +# beacon_user (default: daemon) +# beacon_outputdir (default: %%PREFIX%%/www/data-dist/beacon) +# . /etc/rc.subr name="beacon" rcvar=`set_rcvar` -command="%%PREFIX%%/bin/${name}" - -conffile=%%PREFIX%%/etc/beacon.conf -if [ -f $conffile ]; then - piddir=`grep OUTPUTDIR $conffile | awk '{print $3}'` +load_rc_config $name +command=${beacon_program:-%%PREFIX%%/bin/${name}} +config=${beacon_config:-%%PREFIX%%/etc/${name}.conf} +buser=${beacon_user:-nobody} +outputdir="${beacon_outputdir:-%%PREFIX%%/www/data-dist/beacon}" +if [ -f ${config} ]; then + toutputdir="`awk '$1 == "OUTPUTDIR" {print $3}' ${config}`" + if [ -d "${toutputdir}" ]; then + outputdir="${toutputdir}" + fi fi -pidfile=${piddir}/multicastbeacon.PID +pidfile="${beacon_pidfile:-${outputdir}/multicastbeacon.PID}" +command_interpreter="%%PREFIX%%/bin/perl" -load_rc_config $name +start_cmd="beacon_start" + +beacon_start() +{ + echo "Starting ${name}." + daemon -u ${buser} -f ${command} +} run_rc_command "$1"