#!/bin/sh
# PROVIDE: var_run
# REQUIRE: mountcritlocal
# BEFORE: cleanvar
# KEYWORD: shutdown
. /etc/rc.subr
name=var_run
rcvar=var_run_enable
extra_commands="load save"
start_cmd="_var_run_start"
load_cmd="_var_run_load"
save_cmd="_var_run_save"
stop_cmd="_var_run_stop"
load_rc_config $name
# Set defaults
: ${var_run_enable:="NO"}
: ${var_run_mtree:="/var/db/mtree/BSD.var-run.mtree"}
: ${var_run_autosave:="YES"}
_var_run_load() {
test -f ${var_run_mtree} &&
mtree -U -i -q -f ${var_run_mtree} -p /var/run > /dev/null
}
_var_run_save() {
if [ ! -d $(dirname ${var_run_mtree}) ]; then
mkdir -p ${var_run_mtree}
fi
mtree -dcbj -p /var/run > ${var_run_mtree}
}
_var_run_start() {
df -ttmpfs /var/run > /dev/null 2>&1 &&
_var_run_load
}
_var_run_stop() {
df -ttmpfs /var/run > /dev/null 2>&1 &&
checkyesno var_run_autosave &&
_var_run_save
}
run_rc_command "$1"