mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-19 00:03:45 +02:00
vendor.sh: tidy up error handling
x_ can be used nowadays on any function, because it properly handles globbing. Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
+16
-30
@@ -124,8 +124,7 @@ fetch()
|
|||||||
rm -Rf "${_dl}_extracted" || $err "!rm ${_ul}_extracted. $dontflash"
|
rm -Rf "${_dl}_extracted" || $err "!rm ${_ul}_extracted. $dontflash"
|
||||||
e "$_dest" f && return 0
|
e "$_dest" f && return 0
|
||||||
|
|
||||||
mkdir -p "${_dest%/*}" || \
|
x_ mkdir -p "${_dest%/*}"
|
||||||
$err "mkdirs: !mkdir -p ${_dest%/*} - $dontflash"
|
|
||||||
remkdir "$appdir"
|
remkdir "$appdir"
|
||||||
extract_archive "$_dl" "$appdir" "$dl_type" || \
|
extract_archive "$_dl" "$appdir" "$dl_type" || \
|
||||||
[ "$dl_type" = "e6400vga" ] || \
|
[ "$dl_type" = "e6400vga" ] || \
|
||||||
@@ -165,8 +164,7 @@ extract_intel_me_bruteforce()
|
|||||||
e "$_metmp" f && return 0
|
e "$_metmp" f && return 0
|
||||||
|
|
||||||
[ -z "$sdir" ] && sdir="$(mktemp -d)"
|
[ -z "$sdir" ] && sdir="$(mktemp -d)"
|
||||||
mkdir -p "$sdir" || \
|
x_ mkdir -p "$sdir"
|
||||||
$err "extract_intel_me: !mkdir -p \"$sdir\" - $dontflash"
|
|
||||||
|
|
||||||
set +u +e
|
set +u +e
|
||||||
(
|
(
|
||||||
@@ -200,11 +198,10 @@ apply_me11_deguard_mod()
|
|||||||
{
|
{
|
||||||
(
|
(
|
||||||
x_ cd src/deguard/
|
x_ cd src/deguard/
|
||||||
./finalimage.py --delta "data/delta/$ME11delta" \
|
x_ ./finalimage.py --delta "data/delta/$ME11delta" \
|
||||||
--version "$ME11version" \
|
--version "$ME11version" \
|
||||||
--pch "$ME11pch" --sku "$ME11sku" --fake-fpfs data/fpfs/zero \
|
--pch "$ME11pch" --sku "$ME11sku" --fake-fpfs data/fpfs/zero \
|
||||||
--input "$_metmp" --output "$_me" || \
|
--input "$_metmp" --output "$_me"
|
||||||
$err "Error running deguard for $_me - $dontflash"
|
|
||||||
) || $err "Error running deguard for $_me - $dontflash"
|
) || $err "Error running deguard for $_me - $dontflash"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -272,8 +269,7 @@ extract_e6400vga()
|
|||||||
$err "extract_e6400vga: can't extract bios.bin - $dontflash"
|
$err "extract_e6400vga: can't extract bios.bin - $dontflash"
|
||||||
"$e6400_unpack" bios.bin || printf "TODO: fix dell extract util\n"
|
"$e6400_unpack" bios.bin || printf "TODO: fix dell extract util\n"
|
||||||
) || $err "can't extract e6400 vga rom - $dontflosh"
|
) || $err "can't extract e6400 vga rom - $dontflosh"
|
||||||
cp "$appdir/$E6400_VGA_romname" "$_dest" || \
|
x_ cp "$appdir/$E6400_VGA_romname" "$_dest"
|
||||||
$err "extract_e6400vga $board: can't cp $_dest - $dontflash"; :
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extract_sch5545ec()
|
extract_sch5545ec()
|
||||||
@@ -286,8 +282,7 @@ extract_sch5545ec()
|
|||||||
_sch5545ec_fw="$_sch5545ec_fw/0 Raw section/body.bin" # <-- this!
|
_sch5545ec_fw="$_sch5545ec_fw/0 Raw section/body.bin" # <-- this!
|
||||||
|
|
||||||
"$uefiextract" "$_bios" || $err "sch5545 !extract - $dontflash"
|
"$uefiextract" "$_bios" || $err "sch5545 !extract - $dontflash"
|
||||||
cp "$_sch5545ec_fw" "$_dest" || \
|
x_ cp "$_sch5545ec_fw" "$_dest"
|
||||||
$err "$_dest: !sch5545 copy - $dontflash"; :
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Lenovo ThunderBolt firmware updates:
|
# Lenovo ThunderBolt firmware updates:
|
||||||
@@ -302,14 +297,11 @@ extract_tbfw()
|
|||||||
while read -r f; do
|
while read -r f; do
|
||||||
[ -f "$f" ] || continue
|
[ -f "$f" ] || continue
|
||||||
[ -L "$f" ] && continue
|
[ -L "$f" ] && continue
|
||||||
cp "$f" "tmp/tb.bin" || \
|
x_ cp "$f" "tmp/tb.bin"
|
||||||
$err "extract_tbfw $_dest: Can't copy TBT.bin - $dontflash"
|
|
||||||
break
|
break
|
||||||
done < "tmp/tb.txt"
|
done < "tmp/tb.txt"
|
||||||
dd if=/dev/null of=tmp/tb.bin bs=1 seek=$TBFW_size || \
|
x_ dd if=/dev/null of=tmp/tb.bin bs=1 seek=$TBFW_size
|
||||||
$err "extract_tbfw $_dest: Can't pad TBT.bin - $dontflash"
|
x_ cp "tmp/tb.bin" "$_dest"
|
||||||
cp "tmp/tb.bin" "$_dest" || \
|
|
||||||
$err "extract_tbfw $_dest: copy error - $dontflash "; :
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extract_fspm()
|
extract_fspm()
|
||||||
@@ -325,8 +317,7 @@ extract_fsps()
|
|||||||
# this copies the fsp s/m; re-base is handled by ./mk inject
|
# this copies the fsp s/m; re-base is handled by ./mk inject
|
||||||
copy_fsp()
|
copy_fsp()
|
||||||
{
|
{
|
||||||
cp "$appdir/Fsp_$1.fd" "$_dest" || \
|
x_ cp "$appdir/Fsp_$1.fd" "$_dest"
|
||||||
$err "copy_fsp: Can't copy $1 to $_dest - $dontflash"; :
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fail_inject()
|
fail_inject()
|
||||||
@@ -501,8 +492,7 @@ patch_release_roms()
|
|||||||
sha512sum --status -c "$hashfile" || \
|
sha512sum --status -c "$hashfile" || \
|
||||||
sha1sum --status -c "$hashfile" || \
|
sha1sum --status -c "$hashfile" || \
|
||||||
$err "'$archive' -> Can't verify vendor hashes. $dontflash"
|
$err "'$archive' -> Can't verify vendor hashes. $dontflash"
|
||||||
rm -f "$hashfile" || \
|
x_ rm -f "$hashfile"
|
||||||
$err "$archive: Can't rm hashfile. $dontflash"
|
|
||||||
fi
|
fi
|
||||||
) || $err "'$archive' -> Can't verify vendor hashes. $dontflash"
|
) || $err "'$archive' -> Can't verify vendor hashes. $dontflash"
|
||||||
|
|
||||||
@@ -512,8 +502,7 @@ patch_release_roms()
|
|||||||
[ "$xchanged" = "y" ] || rm -Rf "$tmpromdel" || :
|
[ "$xchanged" = "y" ] || rm -Rf "$tmpromdel" || :
|
||||||
[ "$xchanged" = "y" ] || return 0
|
[ "$xchanged" = "y" ] || return 0
|
||||||
(
|
(
|
||||||
cd "${tmpromdir%"/bin/$board"}" || \
|
x_ cd "${tmpromdir%"/bin/$board"}"
|
||||||
$err "Can't cd '${tmpromdir%"/bin/$board"}'; $dontflash"
|
|
||||||
mkrom_tarball "bin/$board"
|
mkrom_tarball "bin/$board"
|
||||||
) || $err "Cannot re-generate '$archive' - $dontflash"
|
) || $err "Cannot re-generate '$archive' - $dontflash"
|
||||||
|
|
||||||
@@ -536,8 +525,7 @@ process_release_rom()
|
|||||||
[ "${_xromname#"$vfix"}" != "$_xromname" ]; then
|
[ "${_xromname#"$vfix"}" != "$_xromname" ]; then
|
||||||
_xromnew="${_xrom%/*}/${_xromname#"$vfix"}"
|
_xromnew="${_xrom%/*}/${_xromname#"$vfix"}"
|
||||||
|
|
||||||
stat -c '%s' "$_xrom" > "tmp/rom.size" || \
|
x_ stat -c '%s' "$_xrom" > "tmp/rom.size"
|
||||||
$err "$_xrom: Can't get rom size. $dontflash"
|
|
||||||
read -r xromsize < "tmp/rom.size" || \
|
read -r xromsize < "tmp/rom.size" || \
|
||||||
$err "$_xrom: Can't read rom size. $dontflash"
|
$err "$_xrom: Can't read rom size. $dontflash"
|
||||||
|
|
||||||
@@ -550,8 +538,7 @@ process_release_rom()
|
|||||||
[ $xromsize -lt 524288 ] && \
|
[ $xromsize -lt 524288 ] && \
|
||||||
$err "$_xrom size too small; likely not a rom. $dontflash"
|
$err "$_xrom size too small; likely not a rom. $dontflash"
|
||||||
|
|
||||||
dd if="$_xrom" of="$_xromnew" bs=$xromsize count=1 || \
|
x_ dd if="$_xrom" of="$_xromnew" bs=$xromsize count=1
|
||||||
$err "$_xrom: Can't resize. $dontflash"
|
|
||||||
rm -f "$_xrom" || $err "Can't rm $_xrom - $dontflash"
|
rm -f "$_xrom" || $err "Can't rm $_xrom - $dontflash"
|
||||||
|
|
||||||
_xrom="$_xromnew"
|
_xrom="$_xromnew"
|
||||||
@@ -566,7 +553,7 @@ process_release_rom()
|
|||||||
# Rename the file, prefixing a warning saying not to flash
|
# Rename the file, prefixing a warning saying not to flash
|
||||||
cat "$_xrom" tmp/zero.1b > "${_xrom%/*}/$vfix${_xrom##*/}" || \
|
cat "$_xrom" tmp/zero.1b > "${_xrom%/*}/$vfix${_xrom##*/}" || \
|
||||||
$err "'$archive' -> can't pad/rename '$_xrom'. $dontflash"
|
$err "'$archive' -> can't pad/rename '$_xrom'. $dontflash"
|
||||||
rm -f "$_xrom" || $err "'$archive' -> can't rm '$_xrom'. $dontflash"
|
x_ rm -f "$_xrom"
|
||||||
}
|
}
|
||||||
|
|
||||||
patch_rom()
|
patch_rom()
|
||||||
@@ -636,8 +623,7 @@ inject()
|
|||||||
xchanged="y"
|
xchanged="y"
|
||||||
return 0
|
return 0
|
||||||
elif [ "$nukemode" = "nuke" ]; then
|
elif [ "$nukemode" = "nuke" ]; then
|
||||||
"$cbfstool" "$rom" remove -n "$cbfsname" || \
|
x_ "$cbfstool" "$rom" remove -n "$cbfsname"
|
||||||
$err "inject $rom: can't remove $cbfsname"
|
|
||||||
xchanged="y"
|
xchanged="y"
|
||||||
return 0
|
return 0
|
||||||
elif [ "$_t" = "stage" ]; then # the only stage we handle is refcode
|
elif [ "$_t" = "stage" ]; then # the only stage we handle is refcode
|
||||||
|
|||||||
Reference in New Issue
Block a user