summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/inject.sh22
-rw-r--r--include/tree.sh6
-rw-r--r--include/vendor.sh4
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"