1a998ea5dSRobert Garrett#!/bin/sh 2a998ea5dSRobert Garrett 3a998ea5dSRobert Garrett# PROVIDE: varsym 4a998ea5dSRobert Garrett# REQUIRE: mountcritremote 5a998ea5dSRobert Garrett 6a998ea5dSRobert Garrett. /etc/rc.subr 7a998ea5dSRobert Garrett 8a998ea5dSRobert Garrettname=varsym 9*5522551eSAaron LIrcvar="varsym_enable" 10a998ea5dSRobert Garrettrequired_files="/etc/varsym.conf" 11a998ea5dSRobert Garrettstart_cmd="varsym_start" 12a998ea5dSRobert Garrettstop_cmd=":" 13a998ea5dSRobert Garrett 14a998ea5dSRobert Garrettvarsym_start() 15a998ea5dSRobert Garrett{ 16*5522551eSAaron LI local line 17*5522551eSAaron LI 18*5522551eSAaron LI if [ ! -f "/etc/varsym.conf" ]; then 19*5522551eSAaron LI return 20a998ea5dSRobert Garrett fi 21a998ea5dSRobert Garrett 22*5522551eSAaron LI # NOTE: Do not miss the last line when it does not end with a LF. 23*5522551eSAaron LI while read -r line || [ -n "${line}" ]; do 24*5522551eSAaron LI case ${line} in 25*5522551eSAaron LI \#*|'') 26*5522551eSAaron LI ;; 27*5522551eSAaron LI *[^=\ ]=[^=\ ]*) 28*5522551eSAaron LI debug "varsym -s ${line}" 29*5522551eSAaron LI eval varsym -s ${line} 30*5522551eSAaron LI ;; 31*5522551eSAaron LI *) 32*5522551eSAaron LI warn "invalid syntax: '${line}'" 33*5522551eSAaron LI ;; 34*5522551eSAaron LI esac 35*5522551eSAaron LI done < /etc/varsym.conf 36a998ea5dSRobert Garrett} 37a998ea5dSRobert Garrett 38a998ea5dSRobert Garrettload_rc_config $name 39a998ea5dSRobert Garrettrun_rc_command "$1" 40