summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/data/pico-serprog/mkhelper.cfg2
-rw-r--r--config/data/stm32-vserprog/mkhelper.cfg2
-rw-r--r--include/git.sh2
-rw-r--r--include/inject.sh36
-rw-r--r--include/lib.sh9
-rw-r--r--include/rom.sh27
-rwxr-xr-xmk6
7 files changed, 36 insertions, 48 deletions
diff --git a/config/data/pico-serprog/mkhelper.cfg b/config/data/pico-serprog/mkhelper.cfg
index 8e902bda..de3f6aa5 100644
--- a/config/data/pico-serprog/mkhelper.cfg
+++ b/config/data/pico-serprog/mkhelper.cfg
@@ -4,4 +4,4 @@ sersrc="src/pico-serprog"
serx="$sersrc/build/pico_serprog.uf2"
picosdk="src/pico-sdk"
serdir="$picosdk/src/boards/include/boards"
-premake="mkserprog pico"
+premake="$dry eval fe_ \"buildser pico\" basename -as .h \"\$serdir/\"*.h"
diff --git a/config/data/stm32-vserprog/mkhelper.cfg b/config/data/stm32-vserprog/mkhelper.cfg
index 907e890f..344dde81 100644
--- a/config/data/stm32-vserprog/mkhelper.cfg
+++ b/config/data/stm32-vserprog/mkhelper.cfg
@@ -3,4 +3,4 @@
sersrc="src/stm32-vserprog"
serx="$sersrc/stm32-vserprog.hex"
serdir="$sersrc/boards"
-mkhelper="mkserprog stm32"
+mkhelper="$dry eval fe_ \"buildser stm32\" basename -as .h \"\$serdir/\"*.h"
diff --git a/include/git.sh b/include/git.sh
index 0a05b5ab..81c75806 100644
--- a/include/git.sh
+++ b/include/git.sh
@@ -108,7 +108,7 @@ tmpclone()
(
[ $# -gt 5 ] || git clone "$repodir" "$3" || err "!clone $repodir $3"
git -C "$3" reset --hard "$4" || err "!reset $1 $2 $3 $4 $5"
- fx_ "eval x_ git -C \"$3\" am" "$5" -type f
+ fx_ "eval x_ git -C \"$3\" am" find "$5" -type f
) || repofail="y"
[ "$repofail" = "y" ] && [ $# -lt 6 ] && tmpclone "$@" retry
diff --git a/include/inject.sh b/include/inject.sh
index 845208ba..f1e29fd6 100644
--- a/include/inject.sh
+++ b/include/inject.sh
@@ -49,7 +49,7 @@ download()
readkconfig()
{
x_ rm -f "$xbmktmp/cbcfg"
- fe_ scankconfig "$boarddir/config" -type f
+ fe_ scankconfig find "$boarddir/config" -type f
eval "`setcfg "$xbmktmp/cbcfg" 1`"
@@ -142,40 +142,34 @@ extract_intel_me()
_7ztest="$xbmklocal/metmp/a"
_me="$xbmkpwd/$_dest"
_metmp="$xbmklocal/me.bin"
- x_ rm -f "$_metmp"
+ x_ rm -f "$_metmp" "$xbmklocal/a"
mfs="" && [ "$ME11bootguard" = "y" ] && mfs="--whitelist MFS" && \
chkvars ME11delta ME11version ME11sku ME11pch
[ "$ME11bootguard" = "y" ] && x_ ./mk -f deguard
- set +u +e
- fe_ extract_intel_me_bruteforce "$xbmkpwd/$appdir" -type f || :
- x_ rm -Rf "$xbmklocal/metmp"
-
+ set +u +e && fe_ find_me find "$xbmkpwd/$appdir" -type f
[ "$ME11bootguard" != "y" ] && x_ mv "$_metmp" "$_me" && return 0
- (
- x_ cd src/deguard/
+ ( x_ cd src/deguard/
x_ ./finalimage.py --delta "data/delta/$ME11delta" --version \
"$ME11version" --pch "$ME11pch" --sku "$ME11sku" \
--fake-fpfs data/fpfs/zero --input "$_metmp" --output "$_me"
) || err "Error running deguard for $_me - $dontflash"; :
}
-extract_intel_me_bruteforce()
+find_me()
{
+ e "$_metmp" f && x_ rm -Rf "$xbmklocal/metmp" && return 1
[ -L "$1" ] && return 0
- _r="-r" && [ -n "$mfs" ] && _r=""
- "$mecleaner" $mfs $_r -t -O "$xbmklocal/a" -M "$_metmp" "$1" && \
- return 1
- "$mecleaner" $mfs $_r -t -O "$_metmp" "$1" && return 1
- "$me7updateparser" -O "$_metmp" "$1" && return 1
+ _7ztest="${_7ztest}a" && _r="-r" && [ -n "$mfs" ] && _r=""
- _7ztest="${_7ztest}a"
- extract_archive "$1" "$_7ztest" || return 0
+ "$mecleaner" $mfs $_r -t -O "$xbmklocal/a" -M "$_metmp" "$1" || \
+ "$mecleaner" $mfs $_r -t -O "$_metmp" "$1" || "$me7updateparser" \
+ -O "$_metmp" "$1" || extract_archive "$1" "$_7ztest" || return 0
- fe_ extract_intel_me_bruteforce "$_7ztest" -type f || return 1; :
+ fe_ find_me find "$_7ztest" -type f || return 1; :
}
extract_archive()
@@ -234,7 +228,7 @@ extract_sch5545ec()
# https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t480-type-20l5-20l6/20l5/solutions/ht508988
extract_tbfw()
{
- chkvars TBFW_size && fe_ copy_tbfw "$appdir" -type f -name "TBT.bin"
+ chkvars TBFW_size; fe_ copy_tbfw find "$appdir" -type f -name "TBT.bin"
}
copy_tbfw()
@@ -350,7 +344,7 @@ patch_release_roms()
done
if readkconfig; then
- fe_ prep_rom "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
+ fe_ preprom find "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
[ "$nukemode" != "nuke" ] || \
printf "Make sure you inserted vendor files: %s\n" \
"$vguide" > "$tmpromdir/README.md" || :
@@ -384,7 +378,7 @@ patch_release_roms()
"$archive" || err "'$archive' -> Can't overwrite - $dontflash"; :
}
-prep_rom()
+preprom()
{
_xrom="$1"
_xromname="${1##*/}"
@@ -498,7 +492,7 @@ modify_mac()
[ -n "$new_mac" ] && [ "$new_mac" != "restore" ] && \
x_ "$nvm" "$xbmklocal/gbe" setmac "$new_mac"
- fe_ newmac "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
+ fe_ newmac find "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
printf "\nGbE NVM written to '%s':\n" "$archive"
x_ "$nvm" "$xbmklocal/gbe" dump | grep -v "bytes read from file" || :
diff --git a/include/lib.sh b/include/lib.sh
index 572fcf68..f20b17e9 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -140,7 +140,8 @@ chkvars()
# e.g. coreboot is multi-tree, so 1
singletree()
{
- ( fx_ "exit 1" "config/$1/"*/ -type f -name "target.cfg" ) || return 1
+ ( fx_ "exit 1" find "config/$1/"*/ -type f -name "target.cfg" ) || \
+ return 1
}
fe_()
@@ -158,16 +159,16 @@ find_ex()
xmsg="$1" && shift 1
fd="`mktemp`" && x_ rm -f "$fd" && x_ touch "$fd"
xx="$1" && shift 1
- $xmsg find "$@" 2>/dev/null | sort 1>"$fd" 2>/dev/null || \
+ $xmsg "$@" 2>/dev/null | sort 1>"$fd" 2>/dev/null || \
err "!find $(echo "$@") > \"$fd\""
- dx_ "$xx" "$fd"
+ dx_ "$xx" "$fd" || break
x_ rm -f "$fd"
}
dx_()
{
[ -f "$2" ] && while read -r fx; do
- $1 "$fx"
+ $1 "$fx" || return 1
done < "$2"; :
}
diff --git a/include/rom.sh b/include/rom.sh
index 0eebdabb..cb3c1298 100644
--- a/include/rom.sh
+++ b/include/rom.sh
@@ -7,24 +7,15 @@
grubdata="config/data/grub"
-mkserprog()
+buildser()
{
- [ "$_f" = "-d" ] && return 0 # dry run
- basename -as .h "$serdir/"*.h > "$xbmktmp/ser" || \
- err "!mk $1 $xbmktmp"
-
- while read -r sertarget; do
- [ "$1" = "pico" ] && x_ cmake -DPICO_BOARD="$sertarget" \
- -DPICO_SDK_PATH="$picosdk" -B "$sersrc/build" "$sersrc" \
- && x_ cmake --build "$sersrc/build"
- [ "$1" = "stm32" ] && x_ make -C "$sersrc" \
- libopencm3-just-make BOARD=$sertarget && x_ make -C \
- "$sersrc" BOARD=$sertarget
- x_ mkdir -p "bin/serprog_$1"
- x_ mv "$serx" "bin/serprog_$1/serprog_$sertarget.${serx##*.}"
- done < "$xbmktmp/ser"
-
- [ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; :
+ [ "$1" = "pico" ] && x_ cmake -DPICO_BOARD="$2" \
+ -DPICO_SDK_PATH="$picosdk" -B "$sersrc/build" "$sersrc" && \
+ x_ cmake --build "$sersrc/build"
+ [ "$1" = "stm32" ] && x_ make -C "$sersrc" libopencm3-just-make \
+ BOARD=$2 && x_ make -C "$sersrc" BOARD=$2
+ x_ mkdir -p "bin/serprog_$1"
+ x_ mv "$serx" "bin/serprog_$1/serprog_$2.${serx##*.}"
}
copyps1bios()
@@ -192,7 +183,7 @@ mkseagrub()
[ "$payload_grubsea" = "y" ] && pname="grub"
[ "$payload_grubsea" = "y" ] || \
cbfs "$tmprom" "$grubdata/bootorder" bootorder raw
- fe_ "cprom" "$grubdata/keymap" -type f -name "*.gkb"
+ fe_ cprom find "$grubdata/keymap" -type f -name "*.gkb"
}
add_uboot()
diff --git a/mk b/mk
index a438d653..06e73ddc 100755
--- a/mk
+++ b/mk
@@ -87,6 +87,8 @@ build_release()
cd "$srcdir" || err "$vdir: 2 !cd \"$srcdir\""
x_ ./mk -d coreboot
mk -b coreboot pico-serprog stm32-vserprog pcsx-redux
+
+ fe_ mkrom_tarball find bin -maxdepth 1 -type d -name "serprog_*"
x_ mv bin ../roms
) || err "can't build rom images"
@@ -279,7 +281,7 @@ check_project_hashes()
[ ! -f "$XBMK_CACHE/hash/$project$tree" ] || \
read -r old_pjhash < "$XBMK_CACHE/hash/$project$tree"
- fx_ "x_ sha512sum" "$datadir" "$configdir/$tree" "$mdir" \
+ fx_ "x_ sha512sum" find "$datadir" "$configdir/$tree" "$mdir" \
-type f -not -path "*/.git*/*" | awk '{print $1}' > \
"$xbmktmp/project.hash" || err "!h $project $tree"
@@ -371,7 +373,7 @@ check_defconfig()
elfcheck()
{
# TODO: *STILL* very hacky check. do it properly (based on build.list)
- ( fx_ "exit 1" "$dest_dir" -type f ) || return 1; :
+ ( fx_ "exit 1" find "$dest_dir" -type f ) || return 1; :
}
handle_makefile()