mk: simplify main()

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2025-04-26 10:56:47 +01:00
parent 0ab7c6ff9c
commit aba5b3a353
4 changed files with 22 additions and 27 deletions
+1 -1
View File
@@ -90,7 +90,7 @@ fetch_submodule()
[ -z "$st" ] && return 0 # subrepo/subfile not defined [ -z "$st" ] && return 0 # subrepo/subfile not defined
chkvars "sub${st}" "sub${st}_bkup" "subhash" chkvars "sub${st}" "sub${st}_bkup" "subhash"
[ "$st" = "file" ] && download "$subfile" "$subfile_bkup" \ [ "$st" = "file" ] && xbmkget "$subfile" "$subfile_bkup" \
"$tmpgit/$1" "$subhash" && return 0 "$tmpgit/$1" "$subhash" && return 0
rm -Rf "$tmpgit/$1" || $err "!rm '$mdir' '$1'" rm -Rf "$tmpgit/$1" || $err "!rm '$mdir' '$1'"
tmpclone "$subrepo" "$subrepo_bkup" "$tmpgit/$1" "$subhash" \ tmpclone "$subrepo" "$subrepo_bkup" "$tmpgit/$1" "$subhash" \
+1 -1
View File
@@ -265,7 +265,7 @@ singletree()
# can grab from the internet, or copy locally. # can grab from the internet, or copy locally.
# if copying locally, it can only copy a file. # if copying locally, it can only copy a file.
download() xbmkget()
{ {
_dlop="curl" && [ $# -gt 4 ] && _dlop="$5" _dlop="curl" && [ $# -gt 4 ] && _dlop="$5"
cached="$XBMK_CACHE/file/$4" cached="$XBMK_CACHE/file/$4"
+15 -15
View File
@@ -38,7 +38,7 @@ eval "`setvars "" has_hashes EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
TBFW_hash TBFW_size hashfile xromsize xchanged EC_url_bkup need_files \ TBFW_hash TBFW_size hashfile xromsize xchanged EC_url_bkup need_files \
vfile cbcfg $cv`" vfile cbcfg $cv`"
vendor_download() download()
{ {
[ $# -gt 0 ] || $err "No argument given" [ $# -gt 0 ] || $err "No argument given"
export PATH="$PATH:/sbin" export PATH="$PATH:/sbin"
@@ -118,7 +118,7 @@ fetch()
fi fi
dlop="curl" && [ $# -gt 5 ] && dlop="$6" dlop="curl" && [ $# -gt 5 ] && dlop="$6"
download "$dl" "$dl_bkup" "$_dl" "$dlsum" "$dlop" xbmkget "$dl" "$dl_bkup" "$_dl" "$dlsum" "$dlop"
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
@@ -318,7 +318,7 @@ fail_inject()
err_ "$1" err_ "$1"
} }
vendor_inject() inject()
{ {
need_files="n" need_files="n"
err="fail_inject" err="fail_inject"
@@ -503,31 +503,31 @@ patch_rom()
return 1 return 1
fi fi
[ -n "$CONFIG_HAVE_REFCODE_BLOB" ] && inject "fallback/refcode" \ [ -n "$CONFIG_HAVE_REFCODE_BLOB" ] && insert "fallback/refcode" \
"$CONFIG_REFCODE_BLOB_FILE" "stage" "$CONFIG_REFCODE_BLOB_FILE" "stage"
[ "$CONFIG_HAVE_MRC" = "y" ] && inject "mrc.bin" "$CONFIG_MRC_FILE" \ [ "$CONFIG_HAVE_MRC" = "y" ] && insert "mrc.bin" "$CONFIG_MRC_FILE" \
"mrc" "0xfffa0000" "mrc" "0xfffa0000"
[ "$CONFIG_HAVE_ME_BIN" = "y" ] && inject IFD "$CONFIG_ME_BIN_PATH" me [ "$CONFIG_HAVE_ME_BIN" = "y" ] && insert IFD "$CONFIG_ME_BIN_PATH" me
[ "$CONFIG_KBC1126_FIRMWARE" = "y" ] && inject ecfw1.bin \ [ "$CONFIG_KBC1126_FIRMWARE" = "y" ] && insert ecfw1.bin \
"$CONFIG_KBC1126_FW1" raw "$CONFIG_KBC1126_FW1_OFFSET" && inject \ "$CONFIG_KBC1126_FW1" raw "$CONFIG_KBC1126_FW1_OFFSET" && insert \
ecfw2.bin "$CONFIG_KBC1126_FW2" raw "$CONFIG_KBC1126_FW2_OFFSET" ecfw2.bin "$CONFIG_KBC1126_FW2" raw "$CONFIG_KBC1126_FW2_OFFSET"
[ -n "$CONFIG_VGA_BIOS_FILE" ] && [ -n "$CONFIG_VGA_BIOS_ID" ] && \ [ -n "$CONFIG_VGA_BIOS_FILE" ] && [ -n "$CONFIG_VGA_BIOS_ID" ] && \
inject "pci$CONFIG_VGA_BIOS_ID.rom" "$CONFIG_VGA_BIOS_FILE" optionrom insert "pci$CONFIG_VGA_BIOS_ID.rom" "$CONFIG_VGA_BIOS_FILE" optionrom
[ "$CONFIG_INCLUDE_SMSC_SCH5545_EC_FW" = "y" ] && \ [ "$CONFIG_INCLUDE_SMSC_SCH5545_EC_FW" = "y" ] && \
[ -n "$CONFIG_SMSC_SCH5545_EC_FW_FILE" ] && \ [ -n "$CONFIG_SMSC_SCH5545_EC_FW_FILE" ] && \
inject sch5545_ecfw.bin "$CONFIG_SMSC_SCH5545_EC_FW_FILE" raw insert sch5545_ecfw.bin "$CONFIG_SMSC_SCH5545_EC_FW_FILE" raw
[ -z "$CONFIG_FSP_USE_REPO" ] && [ -z "$CONFIG_FSP_FULL_FD" ] && \ [ -z "$CONFIG_FSP_USE_REPO" ] && [ -z "$CONFIG_FSP_FULL_FD" ] && \
[ -n "$CONFIG_FSP_M_FILE" ] && \ [ -n "$CONFIG_FSP_M_FILE" ] && \
inject "$CONFIG_FSP_M_CBFS" "$CONFIG_FSP_M_FILE" fsp --xip insert "$CONFIG_FSP_M_CBFS" "$CONFIG_FSP_M_FILE" fsp --xip
[ -z "$CONFIG_FSP_USE_REPO" ] && [ -z "$CONFIG_FSP_FULL_FD" ] && \ [ -z "$CONFIG_FSP_USE_REPO" ] && [ -z "$CONFIG_FSP_FULL_FD" ] && \
[ -n "$CONFIG_FSP_S_FILE" ] && \ [ -n "$CONFIG_FSP_S_FILE" ] && \
inject "$CONFIG_FSP_S_CBFS" "$CONFIG_FSP_S_FILE" fsp insert "$CONFIG_FSP_S_CBFS" "$CONFIG_FSP_S_FILE" fsp
printf "ROM image successfully patched: %s\n" "$rom" printf "ROM image successfully patched: %s\n" "$rom"
xchanged="y" xchanged="y"
} }
inject() insert()
{ {
[ "$2" = "/dev/null" ] && return 0 [ "$2" = "/dev/null" ] && return 0
@@ -541,7 +541,7 @@ inject()
[ $# -gt 3 ] && _offset="$4" [ $# -gt 3 ] && _offset="$4"
else else
[ $# -gt 3 ] && _offset="-b $4" && [ -z "$4" ] && \ [ $# -gt 3 ] && _offset="-b $4" && [ -z "$4" ] && \
$err "inject $*, $rom: offset given but empty (undefined)" $err "insert $*, $rom: offset given but empty (undefined)"
fi fi
[ "$nukemode" = "nuke" ] || x_ e "$_dest" f [ "$nukemode" = "nuke" ] || x_ e "$_dest" f
@@ -549,7 +549,7 @@ inject()
if [ "$cbfsname" = "IFD" ]; then if [ "$cbfsname" = "IFD" ]; then
[ "$nukemode" = "nuke" ] || "$ifdtool" $ifdprefix -i \ [ "$nukemode" = "nuke" ] || "$ifdtool" $ifdprefix -i \
$_t:$_dest "$rom" -O "$rom" || \ $_t:$_dest "$rom" -O "$rom" || \
$err "failed: inject '$_t' '$_dest' on '$rom'" $err "failed: insert '$_t' '$_dest' on '$rom'"
[ "$nukemode" != "nuke" ] || "$ifdtool" $ifdprefix --nuke $_t \ [ "$nukemode" != "nuke" ] || "$ifdtool" $ifdprefix --nuke $_t \
"$rom" -O "$rom" || $err "$rom: !nuke IFD/$_t" "$rom" -O "$rom" || $err "$rom: !nuke IFD/$_t"
elif [ "$nukemode" = "nuke" ]; then elif [ "$nukemode" = "nuke" ]; then
+5 -10
View File
@@ -20,25 +20,20 @@ eval "`setvars "" vdir src_dirname srcdir mode xp ser`"
main() main()
{ {
[ $# -lt 1 ] && $err "bad command" cmd="" && [ $# -gt 0 ] && cmd="$1" && shift 1
rval=0
for g in "command -v git" "git config --global user.name" \ for g in "command -v git" "git config --global user.name" \
"git config --global user.email" "git_init"; do "git config --global user.email" "git_init"; do
eval "$g 1>/dev/null 2>/dev/null || $err \"Unconfigured: $g\"" eval "$g 1>/dev/null 2>/dev/null || $err \"Unconfigured: $g\""
done done
case "$1" in case "$cmd" in
version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;; version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;;
release|download|inject) release|download|inject) $cmd "$@" ;;
cmd="vendor_$1" && [ "$1" = "release" ] && cmd="mkrelease" -*) return 1 ;;
shift 1
$cmd "$@" ;;
-*) rval=1 ;;
*) $err "bad command" ;; *) $err "bad command" ;;
esac esac
set -u -e # some commands disable them. turn them on! set -u -e # some commands disable them. turn them on!
return $rval
} }
git_init() git_init()
@@ -54,7 +49,7 @@ git_init()
git tag -a "$version" -m "$projectname $version" || return 1 git tag -a "$version" -m "$projectname $version" || return 1
} }
mkrelease() release()
{ {
export XBMK_RELEASE="y" export XBMK_RELEASE="y"