#
# Copyright (C) 2009 OpenWrt.org
#

sync_uboot_env() {
	local fenv_region=`fw_printenv fenv_region | awk -F = '{print $2;}'`
	local region=`envctl factory get region`

	if [ -n "$fenv_region" ] && [ "$fenv_region" != "$region" ]; then
		echo "Sync uboot env fenv_region o factory env"
		envctl factory set region $fenv_region
	fi

	local fenv_restore=`fw_printenv fenv_restore | awk -F = '{print $2;}'`
	if [ -n "$fenv_restore" ] && [ "$fenv_restore" == "yes" ]; then
		echo "uboot env fenv_restore is yes"
		local fenv_model=`fw_printenv fenv_model | awk -F = '{print $2;}'`
		local model=`envctl factory get model`
		if [ -n "$fenv_model" ] && [ "$fenv_model" != "$model" ]; then
			echo "Sync uboot env fenv_model o factory env"
			envctl factory set model $fenv_model
		fi
		echo "do restore"
		touch /tmp/.restore
		cp -rf /rom/etc/config/* /etc/config/
		fw_setenv fenv_restore no
	fi
}

boot_hook_add preinit_main sync_uboot_env
