diff options
-rw-r--r-- | include/lib.sh | 2 | ||||
-rw-r--r-- | include/vendor.sh | 13 | ||||
-rwxr-xr-x | mk | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/include/lib.sh b/include/lib.sh index 99401259..cb8e0303 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -27,7 +27,7 @@ err_() exit 1 } x_() { - [ $# -lt 1 ] || eval "$@" || $err "Unhandled error on: $(echo "$@")"; : + [ $# -lt 1 ] || "$@" || $err "Unhandled error for: $(echo "$@")"; : } xbmkpwd="`pwd`" || $err "Cannot generate PWD" diff --git a/include/vendor.sh b/include/vendor.sh index 3693b5dc..ceea429a 100644 --- a/include/vendor.sh +++ b/include/vendor.sh @@ -190,7 +190,7 @@ extract_intel_me_bruteforce() cdir="$1"; [ "${cdir#/a}" != "$cdir" ] && cdir="${cdir#/}" cd "$cdir" || : done - ) + ) || : rm -Rf "$sdir" || $err "extract_intel_me: !rm -Rf $sdir - $dontflash" } @@ -364,7 +364,9 @@ vendor_inject() readcfg && need_files="y" if [ "$need_files" = "y" ] || [ -n "$new_mac" ]; then - [ "$nukemode" = "nuke" ] || x_ ./mk download "$board" + if [ "$nukemode" != "nuke" ] && [ "$need_files" = "y" ]; then + x_ ./mk download "$board" + fi patch_release_roms fi [ "$need_files" != "y" ] && printf \ @@ -460,6 +462,7 @@ patch_release_roms() x_ tar -xf "$archive" -C "${tmpromdir%"/bin/$board"}" for _hashes in $hashfiles; do + [ "$need_files" = "y" ] || break e "$tmpromdir/$_hashes" f && has_hashes="y" && \ hashfile="$_hashes" && break; : done @@ -483,9 +486,11 @@ patch_release_roms() "$vguide" > "$tmpromdir/README.md" || : else printf "Skipping vendorfiles on '%s'\n" "$archive" 1>&2 + need_files="n" fi ( + [ "$need_files" = "y" ] || exit 0 cd "$tmpromdir" || $err "patch '$archive': can't cd $tmpromdir" # NOTE: For compatibility with older rom releases, defer to sha1 if [ "$has_hashes" = "y" ] && [ "$nukemode" != "nuke" ]; then @@ -621,12 +626,8 @@ inject() $err "failed: inject '$_t' '$_dest' on '$rom'" [ "$nukemode" != "nuke" ] || "$ifdtool" $ifdprefix --nuke $_t \ "$rom" -O "$rom" || $err "$rom: !nuke IFD/$_t" - xchanged="y" - return 0 elif [ "$nukemode" = "nuke" ]; then x_ "$cbfstool" "$rom" remove -n "$cbfsname" - xchanged="y" - return 0 elif [ "$_t" = "stage" ]; then # the only stage we handle is refcode x_ mkdir -p tmp x_ rm -f "tmp/refcode" @@ -309,7 +309,7 @@ check_project_hashes() $err "!sort project tmp/list" while read -r rmchk; do - [ ! -f "$rmchk" ] || sha512sum "$rmchk" | awk \ + [ ! -f "$rmchk" ] || x_ sha512sum "$rmchk" | awk \ '{print $1}' >> "$TMPDIR/project.hash" || $err "!h $rmchk" done < "$TMPDIR/project.list" |