clean up a few semicolons in the build system

several code lines were condensed together, which
make them less readable. make the code more readable
by having separate commands on separate lines.

i previously did this during my manic build system
audits of 2023 and 2024; condensing lines like this
is overly pedantic and serves no real purpose.

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2025-04-11 17:15:00 +01:00
parent 8ccb61cc71
commit f98b9b0110
7 changed files with 109 additions and 63 deletions
+9 -3
View File
@@ -35,9 +35,15 @@ main()
case "${spath#script/}" in
version) printf "%s\nWebsite: %s\n" "$relname" "$projectsite" ;;
release) shift 1; mkrelease "$@" ;;
inject) shift 1; vendor_inject "$@" ;;
download) shift 1; vendor_download "$@" ;;
release)
shift 1
mkrelease "$@" ;;
inject)
shift 1
vendor_inject "$@" ;;
download)
shift 1
vendor_download "$@" ;;
roms)
if [ $# -gt 1 ] && [ "$2" = "serprog" ]; then
mk -b stm32-vserprog pico-serprog
+12 -8
View File
@@ -13,7 +13,8 @@ fetch_targets()
printf "Creating %s tree %s\n" "$project" "$tree"
git_prep "$loc" "$loc" "$PWD/$configdir/$tree/patches" \
"src/$project/$tree" u; nuke "$project/$tree" "$project/$tree"
"src/$project/$tree" u
nuke "$project/$tree" "$project/$tree"
}
fetch_project()
@@ -47,9 +48,11 @@ clone_project()
git_prep()
{
_patchdir="$3"; _loc="$4" # $1 and $2 are gitrepo and gitrepo_backup
_patchdir="$3"
_loc="$4" # $1 and $2 are gitrepo and gitrepo_backup
chkvars rev; tmpclone "$1" "$2" "$tmpgit" "$rev" "$_patchdir"
chkvars rev
tmpclone "$1" "$2" "$tmpgit" "$rev" "$_patchdir"
if singletree "$project" || [ $# -gt 4 ]; then
prep_submodules "$_loc"
fi
@@ -67,7 +70,7 @@ prep_submodules()
{
[ -f "$mdir/module.list" ] && while read -r msrcdir; do
fetch_submodule "$msrcdir"
done < "$mdir/module.list"; return 0
done < "$mdir/module.list"; :
}
fetch_submodule()
@@ -125,10 +128,11 @@ tmpclone()
git_am_patches()
{
for p in "$2/"*; do
[ -L "$p" ] && continue; [ -e "$p" ] || continue
[ -L "$p" ] && continue
[ -e "$p" ] || continue
[ -d "$p" ] && git_am_patches "$1" "$p" && continue
[ ! -f "$p" ] || git -C "$1" am "$p" || $err "$1 $2: !am $p"
done; return 0
done; :
}
link_crossgcc()
@@ -136,7 +140,7 @@ link_crossgcc()
(
x_ cd "$tmpgit/util" && x_ rm -Rf crossgcc
ln -s "../../$xtree/util/crossgcc" crossgcc || $err "$1: !xgcc link"
) || $err "$1: !xgcc link"
) || $err "$1: !xgcc link"; :
}
move_repo()
@@ -152,5 +156,5 @@ nuke()
e "config/${1%/}/nuke.list" f missing || while read -r nukefile; do
rmf="src/${2%/}/$nukefile" && [ -L "$rmf" ] && continue
e "$rmf" e missing || rm -Rf "$rmf" || $err "!rm $rmf, ${2%/}"
done < "config/${1%/}/nuke.list"; return 0
done < "config/${1%/}/nuke.list"; :
}
+17 -10
View File
@@ -17,7 +17,8 @@ err="err_"
err_()
{
printf "ERROR %s: %s\n" "$0" "$1" 1>&2; exit 1
printf "ERROR %s: %s\n" "$0" "$1" 1>&2
exit 1
}
setvars()
@@ -25,14 +26,15 @@ setvars()
_setvars="" && [ $# -lt 2 ] && $err "setvars: too few arguments"
val="$1" && shift 1 && for var in "$@"; do
_setvars="$var=\"$val\"; $_setvars"
done; printf "%s\n" "${_setvars% }"
done
printf "%s\n" "${_setvars% }"
}
chkvars()
{
for var in "$@"; do
eval "[ -n \"\${$var+x}\" ] || \$err \"$var unset\""
eval "[ -n \"\$$var\" ] || \$err \"$var unset\""
done; return 0
done; :
}
eval "`setvars "" _nogit board reinstall versiondate projectsite projectname \
@@ -40,7 +42,8 @@ eval "`setvars "" _nogit board reinstall versiondate projectsite projectname \
for fv in projectname projectsite version versiondate; do
eval "[ ! -f \"$fv\" ] || read -r $fv < \"$fv\" || :"
done; chkvars projectname projectsite
done
chkvars projectname projectsite
setcfg()
{
@@ -57,7 +60,8 @@ e()
estr="[ -$es_t \"\$1\" ] || return 1"
[ $# -gt 2 ] && estr="[ -$es_t \"\$1\" ] && return 1" && es2="missing"
eval "$estr"; printf "%s %s\n" "$1" "$es2" 1>&2
eval "$estr"
printf "%s %s\n" "$1" "$es2" 1>&2
}
install_packages()
@@ -140,7 +144,7 @@ expr "X$XBMK_THREADS" : "X-\{0,1\}[0123456789][0123456789]*$" \
x_() {
[ $# -lt 1 ] || "$@" || \
$err "Unhandled non-zero exit: $(echo "$@")"; return 0
$err "Unhandled non-zero exit: $(echo "$@")"; :
}
[ -e ".git" ] || [ -f "version" ] || printf "unknown\n" > version || \
@@ -155,7 +159,8 @@ versiondate_="$versiondate"
[ ! -e ".git" ] || versiondate="$(git show --no-patch --no-notes \
--pretty='%ct' HEAD)" || versiondate="$versiondate_"
for p in projectname version versiondate projectsite; do
chkvars "$p"; eval "x_ printf \"%s\\n\" \"\$$p\" > $p"
chkvars "$p"
eval "x_ printf \"%s\\n\" \"\$$p\" > $p"
done
relname="$projectname-$version"
export LOCALVERSION="-$projectname-${version%%-*}"
@@ -165,7 +170,7 @@ check_defconfig()
[ -d "$1" ] || $err "Target '$1' not defined."
for x in "$1"/config/*; do
[ -f "$x" ] && printf "%s\n" "$x" && return 1
done; return 0
done; :
}
remkdir()
@@ -180,7 +185,8 @@ mkrom_tarball()
printf "%s\n" "$versiondate" > "$1/versiondate" || $err "$1 !vdate"
printf "%s\n" "$projectname" > "$1/projectname" || $err "$1 !pname"
mktarball "$1" "${1%/*}/${relname}_${1##*/}.tar.xz"; x_ rm -Rf "$1"; :
mktarball "$1" "${1%/*}/${relname}_${1##*/}.tar.xz"
x_ rm -Rf "$1"
}
mktarball()
@@ -248,7 +254,8 @@ download()
$err "$1 $2 $3 $4: Unsupported dlop type: '$_dlop'"
fi
vendor_checksum "$4" "$cached" || dl_fail="n"
done; [ "$dl_fail" = "y" ] && $err "$1 $2 $3 $4: not downloaded"
done
[ "$dl_fail" = "y" ] && $err "$1 $2 $3 $4: not downloaded"
[ "$cached" = "$3" ] || cp "$cached" "$3" || $err "!d cp $cached $3"; :
}
+2 -2
View File
@@ -20,7 +20,7 @@ extract_mrc()
"$cbfstool" "$appdir/"bios.bin extract -n mrc.bin \
-f "$_dest" -r RO_SECTION || $err "extract_mrc: !$cbfstool $_dest"
[ -n "$CONFIG_REFCODE_BLOB_FILE" ] && extract_refcode; return 0
[ -n "$CONFIG_REFCODE_BLOB_FILE" ] && extract_refcode; :
}
extract_partition()
@@ -57,5 +57,5 @@ extract_refcode()
# enable the Intel GbE device, if told by offset MRC_refcode_gbe
[ -z "$MRC_refcode_gbe" ] || dd if="config/ifd/hp820g2/1.bin" \
of="$_refdest" bs=1 seek=$MRC_refcode_gbe count=1 conv=notrunc || \
$err "extract_refcode $_refdest: byte $MRC_refcode_gbe"; return 0
$err "extract_refcode $_refdest: byte $MRC_refcode_gbe"; :
}
+9 -7
View File
@@ -28,11 +28,12 @@ mkserprog()
&& 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"
"$sersrc" BOARD=$sertarget
x_ mkdir -p "bin/serprog_$1"
x_ mv "$serx" "bin/serprog_$1/serprog_$sertarget.${serx##*.}"
done < "$TMPDIR/ser"
[ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; return 0
[ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; :
}
mkpicotool()
@@ -69,7 +70,7 @@ mkpayload_grub()
--install-modules="$grub_install_modules" \
"/boot/grub/grub_default.cfg=${srcdir}/.config" \
"/boot/grub/grub.cfg=$grubdata/memdisk.cfg" || \
$err "$tree: cannot build grub.elf"; return 0
$err "$tree: cannot build grub.elf"; :
}
mkvendorfiles()
@@ -79,7 +80,7 @@ mkvendorfiles()
printf "%s\n" "${version%%-*}" > "$srcdir/.coreboot-version" || \
$err "!mk $srcdir .coreboot-version"
[ -z "$mode" ] && [ "$target" != "$tree" ] && \
x_ ./mk download "$target"; return 0
x_ ./mk download "$target"; :
}
cook_coreboot_config()
@@ -108,8 +109,8 @@ check_coreboot_utils()
x_ cp "$utilsrcdir/rmodtool" "$utilelfdir"
elif [ -n "$mode" ]; then
x_ rm -Rf "$utilelfdir"
fi; continue
done; return 0
fi; :
done; :
}
mkcorebootbin()
@@ -177,7 +178,8 @@ add_seabios()
cbfs "$tmprom" "$_seabioself" "$_seaname"
x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup
_z="2"; [ "$initmode" = "vgarom" ] && _z="0"
_z="2"
[ "$initmode" = "vgarom" ] && _z="0"
x_ "$cbfstool" "$tmprom" add-int -i $_z -n etc/pci-optionrom-exec
x_ "$cbfstool" "$tmprom" add-int -i 0 -n etc/optionroms-checksum
[ "$initmode" = "libgfxinit" ] && \
+31 -14
View File
@@ -38,8 +38,10 @@ eval "`setvars "" has_hashes EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
vendor_download()
{
[ $# -gt 0 ] || $err "No argument given"; export PATH="$PATH:/sbin"
board="$1"; readcfg && readkconfig && bootstrap && getfiles; :
[ $# -gt 0 ] || $err "No argument given"
export PATH="$PATH:/sbin"
board="$1"
readcfg && readkconfig && bootstrap && getfiles; :
}
readkconfig()
@@ -66,9 +68,11 @@ readkconfig()
CONFIG_LENOVO_TBFW_BIN CONFIG_FSP_M_FILE CONFIG_FSP_S_FILE; do
eval "[ \"\${$c}\" = \"/dev/null\" ] && continue"
eval "[ -z \"\${$c}\" ] && continue"
eval "`setcfg "$vfile"`"; return 0
eval "`setcfg "$vfile"`"
return 0
done
printf "Vendor files not needed for: %s\n" "$board" 1>&2; return 1
printf "Vendor files not needed for: %s\n" "$board" 1>&2
return 1
}
bootstrap()
@@ -78,7 +82,7 @@ bootstrap()
[ -d "${kbc1126_ec_dump%/*}" ] && x_ make -C "$cbdir/util/kbc1126"
[ -n "$MRC_refcode_cbtree" ] && \
cbfstoolref="elf/cbfstool/$MRC_refcode_cbtree/cbfstool" && \
x_ ./mk -d coreboot "$MRC_refcode_cbtree"; return 0
x_ ./mk -d coreboot "$MRC_refcode_cbtree"; :
}
getfiles()
@@ -109,9 +113,14 @@ getfiles()
fetch()
{
dl_type="$1"; dl="$2"; dl_bkup="$3"; dlsum="$4"; _dest="${5##*../}"
dl_type="$1"
dl="$2"
dl_bkup="$3"
dlsum="$4"
_dest="${5##*../}"
[ "$5" = "/dev/null" ] && return 0; _dl="$XBMK_CACHE/file/$dlsum"
[ "$5" = "/dev/null" ] && return 0
_dl="$XBMK_CACHE/file/$dlsum"
if [ "$dl_type" = "fspm" ] || [ "$dl_type" = "fsps" ]; then
# HACK: if grabbing fsp from coreboot, fix the path for lbmk
for _cdl in dl dl_bkup; do
@@ -129,11 +138,13 @@ fetch()
mkdir -p "${_dest%/*}" || \
$err "mkdirs: !mkdir -p ${_dest%/*} - $dontflash"
remkdir "$appdir"; extract_archive "$_dl" "$appdir" "$dl_type" || \
remkdir "$appdir"
extract_archive "$_dl" "$appdir" "$dl_type" || \
[ "$dl_type" = "e6400vga" ] || \
$err "mkd $_dest $dl_type: !extract. $dontflash"
eval "extract_$dl_type"; set -u -e
eval "extract_$dl_type"
set -u -e
e "$_dest" f missing && $err "!extract_$dl_type. $dontflash"; :
}
@@ -240,7 +251,8 @@ extract_kbc1126ec()
e "$kbc1126_ec_dump" f missing && \
$err "$cbdir: kbc1126 util missing - $dontflash"
(
x_ cd "$appdir/"; mv Rompaq/68*.BIN ec.bin || :
x_ cd "$appdir/"
mv Rompaq/68*.BIN ec.bin || :
if [ ! -f "ec.bin" ]; then
unar -D ROM.CAB Rom.bin || unar -D Rom.CAB Rom.bin || \
unar -D 68*.CAB Rom.bin || \
@@ -347,7 +359,8 @@ vendor_inject()
err="fail_inject"
remkdir "$tmpromdel"
set +u +e; [ $# -lt 1 ] && $err "No options specified. - $dontflash"
set +u +e
[ $# -lt 1 ] && $err "No options specified. - $dontflash"
eval "`setvars "" nukemode new_mac xchanged`"
# randomise the MAC address by default
@@ -499,7 +512,8 @@ patch_release_roms()
hashfile="$_hashes" && break; :
done
x_ mkdir -p "tmp"; [ -L "tmp/rom.list" ] && \
x_ mkdir -p "tmp"
[ -L "tmp/rom.list" ] && \
$err "'$archive' -> tmp/rom.list is a symlink - $dontflash"
x_ rm -f "tmp/rom.list" "tmp/zero.1b"
x_ dd if=/dev/zero of=tmp/zero.1b bs=1 count=1
@@ -679,7 +693,9 @@ inject()
[ "$2" = "/dev/null" ] && return 0
eval "`setvars "" cbfsname _dest _t _offset`"
cbfsname="$1"; _dest="${2##*../}"; _t="$3"
cbfsname="$1"
_dest="${2##*../}"
_t="$3"
if [ "$_t" = "fsp" ]; then
[ $# -gt 3 ] && _offset="$4"
@@ -705,7 +721,8 @@ inject()
return 0
fi
if [ "$_t" = "stage" ]; then # the only stage we handle is refcode
x_ mkdir -p tmp; x_ rm -f "tmp/refcode"
x_ mkdir -p tmp
x_ rm -f "tmp/refcode"
"$rmodtool" -i "$_dest" -o "tmp/refcode" || "!reloc refcode"
"$cbfstool" "$rom" add-stage -f "tmp/refcode" -n "$cbfsname" \
-t stage || $err "$rom: !add ref"
+29 -19
View File
@@ -15,13 +15,17 @@ eval "`setvars "" xarch srcdir premake gnatdir xlang mode makeargs elfdir cmd \
project target target_dir targets xtree _f release bootstrapargs mkhelper \
autoconfargs listfile autogenargs btype tree rev tree_depend build_depend \
defconfig postmake mkhelpercfg dry dest_dir mdir cleanargs gccver gccfull \
gnatver gnatfull gccdir cmakedir`"; badhash="n"
gnatver gnatfull gccdir cmakedir`"
# ./mk -f will set this to "n", thus
# disabling the use of make commands
do_make="y"
mode="all" # make all
# badhash changes to "y" when project
# files change, e.g. config files, patches
badhash="n"
flags="-m/-u/-b/-c/-x/-f/-s/-l/-n/-d"
main()
@@ -82,7 +86,8 @@ main()
x_ touch "$mkhelpercfg"
fi
targets="$*"; cmd="build_targets $targets"
targets="$*"
cmd="build_targets $targets"
singletree "$project" && cmd="build_project"
remkdir "${tmpgit%/*}"
@@ -96,7 +101,7 @@ build_project()
[ "$mode" = "distclean" ] && mode="clean"
run_make_command || return 0
[ -n "$mode" ] || $dry copy_elf; return 0
[ -n "$mode" ] || $dry copy_elf; :
}
build_targets()
@@ -113,7 +118,7 @@ build_targets()
printf "'make %s', '%s', '%s'\n" "$mode" "$project" "$target"
x_ handle_defconfig
[ -n "$mode" ] || [ -z "$postmake" ] || $postmake || \
$err "$project/$target: !postmake: $postmake"; continue
$err "$project/$target: !postmake: $postmake"; :
done; return 0
}
@@ -125,7 +130,8 @@ handle_defconfig()
configure_project "$target_dir" || return 0
x_ mkdir -p "$elfdir/$target"
chkvars tree; srcdir="src/$project/$tree"
chkvars tree
srcdir="src/$project/$tree"
if [ "$mode" = "distclean" ] || [ "$mode" = "crossgcc-clean" ]; then
[ -d "$srcdir" ] || return 0
@@ -139,7 +145,7 @@ handle_defconfig()
[ -n "$mode" ] || check_defconfig || continue
handle_makefile
[ -n "$mode" ] || $dry copy_elf
done; return 0
done; :
}
configure_project()
@@ -190,8 +196,8 @@ build_dependencies()
[ -z "$bd_p" ] && $dry $err "$project/$tree: !bd '$bd'"
[ "${bd##*/}" = "$bd" ] && bd_t=""
[ -z "$bd_p" ] || $dry ./mk -b $bd_p $bd_t \
|| $err "!mk $project/$tree $bd_p/$bd_t"; continue
done; return 0
|| $err "!mk $project/$tree $bd_p/$bd_t"; :
done; :
}
check_project_hashes()
@@ -202,7 +208,8 @@ check_project_hashes()
read -r old_pjhash < "$XBMK_CACHE/hash/$project$tree"
x_ rm -f "$TMPDIR/project.list" "$TMPDIR/project.hash" \
"$TMPDIR/project.tmp"; x_ touch "$TMPDIR/project.tmp"
"$TMPDIR/project.tmp"
x_ touch "$TMPDIR/project.tmp"
x_ touch "$TMPDIR/project.hash"
for rmchk in "$datadir" "$configdir/$tree" "$mdir"; do
@@ -258,7 +265,7 @@ check_cross_compiler()
# we only want to mess with hostcc to build xgcc
rm -f "$XBMK_CACHE/gnupath/"* || \
$err "Cannot clear gnupath/"; :
done; return 0
done; :
}
# fix mismatching gcc/gnat versions on debian trixie/sid. as of december 2024,
@@ -297,7 +304,8 @@ check_gnu_path()
rm -f "$XBMK_CACHE/gnupath/"* || $err "Cannot clear gnupath/"
cd "$XBMK_CACHE/gnupath" || $err "Can't cd to gnupath/"
for _gnubin in "$_gnudir/$2"*"-$_gnuver"; do
[ -e "$_gnubin" ] || continue; _gnuutil="${_gnubin##*/}"
[ -e "$_gnubin" ] || continue
_gnuutil="${_gnubin##*/}"
x_ ln -s "$_gnubin" "${_gnuutil%"-$_gnuver"}"
done
) || $err "Cannot create $2-$_gnuver link in $_gnudir"; :
@@ -326,7 +334,7 @@ elfcheck()
# TODO: very hacky check. do it properly (based on build.list)
for elftest in "$dest_dir"/*; do
[ -e "$elftest" ] && e "$elftest" f && return 1
done; return 0
done; :
}
handle_makefile()
@@ -350,8 +358,9 @@ handle_makefile()
run_make_command()
{
[ -z "$premake" ] || [ -n "$mode" ] || $premake || $err "!$premake"
$dry check_cmake "$srcdir" && [ -z "$mode" ] && $dry check_autoconf \
"$srcdir"; $dry check_makefile "$srcdir" || return 1
$dry check_cmake "$srcdir" && [ -z "$mode" ] && \
$dry check_autoconf "$srcdir"
$dry check_makefile "$srcdir" || return 1
$dry make -C "$srcdir" $mode -j$XBMK_THREADS $makeargs || $err "!$mode"
[ -z "$mkhelper" ] || [ -n "$mode" ] || $mkhelper || $err "!$mkhelper"
@@ -366,7 +375,7 @@ check_cmake()
"$1/$cmakedir" || $dry check_makefile "$1" || $err \
"$1: !cmk $cmakedir"
[ -z "$cmakedir" ] || $dry check_makefile "$1" || \
$err "check_cmake $1: can't generate Makefile"; return 0
$err "check_cmake $1: can't generate Makefile"; :
}
check_autoconf()
@@ -375,21 +384,22 @@ check_autoconf()
cd "$1" || $err "!cd $1"
[ -f "bootstrap" ] && x_ ./bootstrap $bootstrapargs
[ -f "autogen.sh" ] && x_ ./autogen.sh $autogenargs
[ -f "configure" ] && x_ ./configure $autoconfargs; return 0
) || $err "can't bootstrap project: $1"
[ -f "configure" ] && x_ ./configure $autoconfargs; :
) || $err "can't bootstrap project: $1"; :
}
check_makefile()
{
[ -f "$1/Makefile" ] || [ -f "$1/makefile" ] || \
[ -f "$1/GNUmakefile" ] || return 1; return 0
[ -f "$1/GNUmakefile" ] || return 1; :
}
copy_elf()
{
[ -f "$listfile" ] && x_ mkdir -p "$dest_dir" && while read -r f; do
[ -f "$srcdir/$f" ] && x_ cp "$srcdir/$f" "$dest_dir"
done < "$listfile"; x_ make clean -C "$srcdir" $cleanargs
done < "$listfile"
x_ make clean -C "$srcdir" $cleanargs
}
main "$@" || exit 0