diff options
Diffstat (limited to 'include/inject.sh')
-rw-r--r-- | include/inject.sh | 50 |
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 } |