summaryrefslogtreecommitdiffstats
path: root/tests/setenv
blob: e0a8e17571ec7d1ec57d487aa3ed16c365c46ac3 (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!" >&2
	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!" >&2
		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_TOPDIR}/tests/kwrapper" setenv "${CONFFILE}" "${PTXDIST_SETENV_U_BOOT_V2_ENV}"

rm -rf "${PTXDIST_SETENV_U_BOOT_V2_ENV}"