summaryrefslogtreecommitdiff
path: root/include/inject.sh
diff options
context:
space:
mode:
Diffstat (limited to 'include/inject.sh')
-rw-r--r--include/inject.sh50
1 files changed, 37 insertions, 13 deletions
diff --git a/include/inject.sh b/include/inject.sh
index 444915a1..90528ac0 100644
--- a/include/inject.sh
+++ b/include/inject.sh
@@ -9,16 +9,25 @@ tmpromdel="$XBMK_CACHE/DO_NOT_FLASH"
nvm="util/nvmutil/nvm"
ifdtool="elf/coreboot/default/ifdtool"
-cv="CONFIG_GBE_BIN_PATH"
-if [ -n "$cvxbmk" ]; then
- cv="$cv $cvxbmk"
+checkvars="CONFIG_GBE_BIN_PATH"
+if [ -n "$checkvarsxbmk" ]; then
+ checkvars="$checkvars $checkvarsxbmk"
fi
-if [ -n "$cvchk" ]; then
- cv="$cv $cvchk"
+if [ -n "$checkvarschk" ]; then
+ checkvars="$checkvars $checkvarschk"
fi
-eval "`setvars "" archive boarddir IFD_platform ifdprefix tree new_mac \
- tmpromdir board xchanged $cv`"
+archive=""
+boarddir=""
+IFD_platform=""
+ifdprefix=""
+tree=""
+new_mac=""
+tmpromdir=""
+board=""
+xchanged=""
+
+eval "`setvars "" $checkvars`"
inject()
{
@@ -58,7 +67,9 @@ inject()
check_release
if check_target; then
- patch_release || return 0
+ if ! patch_release; then
+ return 0
+ fi
fi
if [ "$xchanged" = "y" ]; then
remktar
@@ -113,8 +124,12 @@ check_target()
boarddir="$cbcfgsdir/$board"
- eval "`setcfg "$boarddir/target.cfg"`"
- chkvars tree
+ . "$boarddir/target.cfg" || \
+ err "Can't read '$boarddir/target.cfg'" "check_target" "$@"
+
+ if [ -z "$tree" ]; then
+ err "tree unset in '$boarddir/target.cfg'" "check_target" "$@"
+ fi
x_ ./mk -d coreboot "$tree"
@@ -141,6 +156,7 @@ patch_release()
if e "$tmpromdir/$_hashes" f; then
has_hashes="y"
hashfile="$_hashes"
+
break
fi
done
@@ -157,14 +173,22 @@ readkconfig()
x_ rm -f "$xbtmp/cbcfg"
fx_ scankconfig x_ find "$boarddir/config" -type f
- eval "`setcfg "$xbtmp/cbcfg" 1`"
- setvfile "$@" || return 1; :
+ if e "$xbtmp/cbcfg" f missing; then
+ return 1
+ fi
+
+ . "$xbtmp/cbcfg" || \
+ err "Can't read '$xbtmp/cbcfg'" "readkconfig" "$@"
+
+ if ! setvfile "$@"; then
+ return 1
+ fi
}
scankconfig()
{
- for cbc in $cv; do
+ for cbc in $checkvars; do
grep "$cbc" "$1" 2>/dev/null 1>>"$xbtmp/cbcfg" || :
done
}