#!/bin/sh

# PROVIDE: backup_cfg
# KEYWORD: nostart shutdown

. /etc/rc.subr

name="backup_cfg"
rcvar=`set_rcvar`

stop_cmd="backup_cfg_stop"

backup_cfg_stop() {
	set -e
	trap "umount /cfg" 1 2 15 EXIT
	mount | grep -qE /cfg || mount /cfg || exit 1
	cd /cfg
	find . \! -name . | sort | while read f; do
		[ -e "/etc/$f" ] || rm -rv "$f"
		cmp -s "$f" "/conf/base/etc/$f" && rm -rv "$f"
	done
	cd /etc
	find -L . \! -name . -type f | sort | while read f; do
		cmp -s "$f" "/conf/base/etc/$f" || cmp -s "$f" "/cfg/$f" || \
			tar -cpSf - "$f" | tar -C /cfg -xpSvf -
	done
	umount /cfg
	trap 1 2 15 EXIT
}

load_rc_config $name
run_rc_command "$1"
