xref: /dflybsd-src/etc/rc.d/varsym (revision 5522551ec4fa4ecf42c37ee0065f393e62e25908)
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