diff options
-rw-r--r-- | include/inject.sh | 22 | ||||
-rw-r--r-- | include/tree.sh | 6 | ||||
-rw-r--r-- | include/vendor.sh | 4 |
3 files changed, 19 insertions, 13 deletions
diff --git a/include/inject.sh b/include/inject.sh index 09d155fd..9354b439 100644 --- a/include/inject.sh +++ b/include/inject.sh @@ -13,7 +13,7 @@ cv="CONFIG_GBE_BIN_PATH" [ -n "$cvchk" ] && cv="$cv $cvchk" eval "`setvars "" archive boarddir IFD_platform ifdprefix tree new_mac \ - tdir board xchanged $cv`" + tmpromdir board xchanged $cv`" inject() { @@ -41,8 +41,7 @@ inject() x_ e "$archive" f && check_release check_target && patch_release - [ "$xchanged" != "y" ] || ( remktar ) || err - x_ mv "${tdir%"/bin/$board"}/bin/${relname}_${board}.tar.xz" "$archive" + [ "$xchanged" = "y" ] && remktar xnot=" NOT" && [ "$xchanged" = "y" ] && xnot="" printf "\n'%s' was%s modified\n" "$archive" "$xnot" 1>&2 @@ -81,13 +80,13 @@ patch_release() [ "$nuke" = "nuke" ] || x_ ./mk download "$board" has_hashes="n" - tdir="$tmpromdel/bin/$board" + tmpromdir="$tmpromdel/bin/$board" - remkdir "${tdir%"/bin/$board"}" - x_ tar -xf "$archive" -C "${tdir%"/bin/$board"}" + remkdir "${tmpromdir%"/bin/$board"}" + x_ tar -xf "$archive" -C "${tmpromdir%"/bin/$board"}" for _hashes in "vendorhashes" "blobhashes"; do - e "$tdir/$_hashes" f && \ + e "$tmpromdir/$_hashes" f && \ has_hashes="y" && hashfile="$_hashes" && break; : done @@ -118,7 +117,7 @@ modify_mac() x_ make -C util/nvmutil clean && x_ make -C util/nvmutil && \ x_ "$nvm" "$xbloc/gbe" setmac "$new_mac" - fx_ newmac x_ find "$tdir" -maxdepth 1 -type f -name "*.rom" + fx_ newmac x_ find "$tmpromdir" -maxdepth 1 -type f -name "*.rom" printf "\nThe following GbE NVM data will be written:\n" x_ "$nvm" "$xbloc/gbe" dump | grep -v "bytes read from file" || : @@ -132,7 +131,12 @@ newmac() remktar() { - x_ cd "${tdir%"/bin/$board"}" + ( + x_ cd "${tmpromdir%"/bin/$board"}" printf "Re-building tar archive (please wait)\n" mkrom_tarball "bin/$board" 1>/dev/null + ) || err "Cannot re-generate '$archive'" + + mv "${tmpromdir%"/bin/$board"}/bin/${relname}_${board}.tar.xz" \ + "$archive" || err "'$archive' -> Can't overwrite"; : } diff --git a/include/tree.sh b/include/tree.sh index 7bfddf67..f945cc7c 100644 --- a/include/tree.sh +++ b/include/tree.sh @@ -167,13 +167,15 @@ check_project_hashes() { old_pjhash="" && x_ mkdir -p "$XBMK_CACHE/hash" [ ! -f "$XBMK_CACHE/hash/$project$tree" ] || \ - read -r old_pjhash < "$XBMK_CACHE/hash/$project$tree" + read -r old_pjhash < "$XBMK_CACHE/hash/$project$tree" || \ + err "old_pjhash: Can't read '$XBMK_CACHE/hash/$project$tree'" fx_ "x_ sha512sum" find "$datadir" "$configdir/$tree" "$mdir" \ -type f -not -path "*/.git*/*" | awk '{print $1}' > \ "$xbtmp/project.hash" || err "!h $project $tree" - pjhash="$(sha512sum "$xbtmp/project.hash" | awk '{print $1}')" || : + pjhash="$(x_ sha512sum "$xbtmp/project.hash" | awk '{print $1}' || \ + err)" || err "pjhash: Can't read sha512 of '$xbtmp/project.hash'" [ "$pjhash" != "$old_pjhash" ] && badhash="y" [ -f "$XBMK_CACHE/hash/$project$tree" ] || badhash="y" diff --git a/include/vendor.sh b/include/vendor.sh index 5e1c77ff..f7dce827 100644 --- a/include/vendor.sh +++ b/include/vendor.sh @@ -256,7 +256,7 @@ getvfile() { eval "`setcfg "config/vendor/$vcfg/pkg.cfg" 1`" bootstrap && [ $# -gt 0 ] && getfiles && return 0 # download - fx_ prep x_ find "$tdir" -maxdepth 1 -type f -name "*.rom" + fx_ prep x_ find "$tmpromdir" -maxdepth 1 -type f -name "*.rom" ( check_vendor_hashes ) || err "$archive: Can't verify hashes"; : } @@ -390,7 +390,7 @@ vfile() check_vendor_hashes() { - x_ cd "$tdir" + x_ cd "$tmpromdir" [ "$has_hashes" = "n" ] || [ "$nuke" = "nuke" ] || sha512sum \ --status -c "$hashfile" || x_ sha1sum --status -c "$hashfile" x_ rm -f "$hashfile" |