summaryrefslogtreecommitdiffstats
path: root/tests/setenv
blob: 9f88e7bdbdc652358563b3092528cf7c9aabcf06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash

if [ ! -e "${PTXDIST_BOARDSETUP}" ]; then
	echo "Please run 'ptxdist boardsetup' first!"
	exit 1
fi

CONFFILE="${PTXDIST_PLATFORMCONFIGDIR}/u-boot-env/config${PTXDIST_PLATFORMSUFFIX}"
if [ ! -r "${CONFFILE}.in" ]; then
	if [ -r "`dirname "${CONFFILE}"`/config.in" ]; then
		CONFFILE="`dirname "${CONFFILE}"`/config"
	else
		echo "Config file for uboot environment is missing!"
		exit 1
	fi
fi

#source and export variables, so we can access them later with awk.
set -a
. "${PTXDIST_BOARDSETUP}"
set +a

#Replace @magics@ with PTXCONF-variables
#FIXME: Warn if variable is empty?
awk 'match($0, "@[A-Z0-9_]+@") { var=substr($0,RSTART+1,RLENGTH-2); gsub("@"var"@", ENVIRON[var]); } {print} ' "${CONFFILE}".in >"${CONFFILE}"

PTXDIST_SETENV_U_BOOT_V2_ENV="$(mktemp "${PTXCONF_BOARDSETUP_TFTP_PATH}/u-boot-v2-environment.XXXXXX")"
chmod 644 "${PTXDIST_SETENV_U_BOOT_V2_ENV}"

"${PTXDIST_WORKSPACE}/tests/kwrapper" setenv "${CONFFILE}" "${PTXDIST_SETENV_U_BOOT_V2_ENV}"

rm -rf "${PTXDIST_SETENV_U_BOOT_V2_ENV}"