#!/bin/sh

#set -x 

SetVariable() {
	VARNAME=$1
	VARVALUE=$2
	
	exec 3>&2
	exec 2> /dev/null
	CURVALUE=`/sbin/fw_printenv $1 | awk -F= '{ print $2}'`
	exec 2>&3
	
	if [ "${CURVALUE}" = "${VARVALUE}" ]; then
		return 0;
	else
		/sbin/fw_setenv $1 $2
		return 1;
	fi
}

CheckUUID() {
	VARNAME=$1
	
	exec 3>&2
	exec 2> /dev/null
	CURVALUE=`/sbin/fw_printenv $1 | awk -F= '{ print $2}'`
	exec 2>&3
	
	if [ "${CURVALUE}" ]; then
		return 0;
	else
		UUID=`/usr/bin/uuid`
		SetVariable "rvn_uuid" "${UUID}"
		return 0;
	fi
}

if [ $# -ne 8 ]; then
  echo "Usage: setid [Board PN] [Board Rev] [Board SN] [Assembly PN] [Assembly Rev] [Assembly SN] [Assembly Bar Code] [OEM ID]"
  exit -1
fi

BOARDPN="$1"
BOARDRV="$2"
BOARDSN="$3"
ASSEMBLYPN="$4"
ASSEMBLYREV="$5"
ASSEMBLYSN="$6"
ASSEMBLYBC="$7"
OEM="$8"

SetVariable "rvn_bd_pn" "${BOARDPN}"
SetVariable "rvn_bd_rev" "${BOARDRV}"
SetVariable "rvn_bd_sn" "${BOARDSN}"
SetVariable "rvn_as_pn" "${ASSEMBLYPN}"
SetVariable "rvn_as_rev" "${ASSEMBLYREV}"
SetVariable "rvn_as_sn" "${ASSEMBLYSN}"
SetVariable "rvn_as_bc" "${ASSEMBLYBC}"
SetVariable "rvn_oem" "${OEM}"

CheckUUID rvn_uuid

exit 0
