fix lbmk shellcheck errors
There was also a condition in run_make_command that is now an OR, where it was an AND, on script/trees, to fix the use of mixed (and erroneous) OR/AND operators. I'm planning a much more invasive audit than this. These are light fixes, intended for Libreboot 20241206 rev8. Signed-off-by: Leah Rowe <leah@libreboot.org>master
parent
4862f6a348
commit
3d1fea0977
4
build
4
build
|
@ -12,7 +12,7 @@ fi
|
|||
|
||||
. "include/lib.sh"
|
||||
|
||||
eval `setvars "" vdir src_dirname srcdir mode xp ser`
|
||||
eval "`setvars "" vdir src_dirname srcdir mode xp ser`"
|
||||
err="fail"
|
||||
|
||||
main()
|
||||
|
@ -43,7 +43,7 @@ git_init()
|
|||
{
|
||||
[ -L ".git" ] && return 1
|
||||
[ -e ".git" ] && return 0
|
||||
eval `setvars "$(date -Rud @$versiondate)" cdate _nogit`
|
||||
eval "`setvars "$(date -Rud @$versiondate)" cdate _nogit`"
|
||||
|
||||
git init || return 1
|
||||
git add -A . || return 1
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Copyright (c) 2020-2021,2023-2024 Leah Rowe <leah@libreboot.org>
|
||||
# Copyright (c) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
|
||||
|
||||
eval `setvars "" loc url bkup_url subfile subhash subrepo subrepo_bkup \
|
||||
depend subfile_bkup repofail`
|
||||
eval "`setvars "" loc url bkup_url subfile subhash subrepo subrepo_bkup \
|
||||
depend subfile_bkup repofail`"
|
||||
|
||||
fetch_targets()
|
||||
{
|
||||
|
@ -18,8 +18,8 @@ fetch_targets()
|
|||
|
||||
fetch_project()
|
||||
{
|
||||
eval `setvars "" xtree tree_depend`
|
||||
eval `setcfg "config/git/$project/pkg.cfg"`
|
||||
eval "`setvars "" xtree tree_depend`"
|
||||
eval "`setcfg "config/git/$project/pkg.cfg"`"
|
||||
|
||||
chkvars url
|
||||
|
||||
|
@ -71,7 +71,8 @@ prep_submodules()
|
|||
fetch_submodule()
|
||||
{
|
||||
mcfgdir="$mdir/${1##*/}"
|
||||
eval `setvars "" subhash subrepo subrepo_bkup subfile subfile_bkup st`
|
||||
eval "`setvars "" subhash subrepo subrepo_bkup subfile subfile_bkup \
|
||||
st`"
|
||||
[ ! -f "$mcfgdir/module.cfg" ] || . "$mcfgdir/module.cfg" || \
|
||||
$err "! . $mcfgdir/module.cfg"
|
||||
|
||||
|
@ -103,7 +104,7 @@ tmpclone()
|
|||
mkdir -p "$XBMK_CACHE/repo" || $err "!rmdir $XBMK_CACHE/repo"
|
||||
|
||||
if [ "$livepull" = "y" ] && [ ! -d "$repodir" ]; then
|
||||
git clone $1 "$repodir" || git clone $2 "$repodir" || \
|
||||
git clone "$1" "$repodir" || git clone $2 "$repodir" || \
|
||||
$err "!clone $1 $2 $repodir $4 $5" #
|
||||
elif [ -d "$repodir" ] && [ $# -lt 6 ]; then
|
||||
git -C "$repodir" pull || sleep 3 || git -C "$repodir" pull \
|
||||
|
|
|
@ -33,23 +33,23 @@ err_()
|
|||
setvars()
|
||||
{
|
||||
_setvars="" && [ $# -lt 2 ] && $err "setvars: too few arguments"
|
||||
val="$1" && shift 1 && for var in $@; do
|
||||
val="$1" && shift 1 && for var in "$@"; do
|
||||
_setvars="$var=\"$val\"; $_setvars"
|
||||
done; printf "%s\n" "${_setvars% }"
|
||||
}
|
||||
chkvars()
|
||||
{
|
||||
for var in $@; do
|
||||
for var in "$@"; do
|
||||
eval "[ -n "\${$var+x}" ] || \$err \"$var unset\""
|
||||
eval "[ -n "\$$var" ] || \$err \"$var unset\""
|
||||
done; return 0
|
||||
}
|
||||
|
||||
eval `setvars "" _nogit board xbmk_parent versiondate projectsite projectname \
|
||||
aur_notice configdir datadir version relname reinstall`
|
||||
eval "`setvars "" _nogit board reinstall versiondate projectsite projectname \
|
||||
aur_notice configdir datadir version relname xbmk_parent`"
|
||||
|
||||
for fv in projectname projectsite version versiondate; do
|
||||
eval "[ ! -f "$fv" ] || read -r $fv < \"$fv\" || :"
|
||||
eval "[ ! -f \"$fv\" ] || read -r $fv < \"$fv\" || :"
|
||||
done; chkvars projectname projectsite
|
||||
|
||||
setcfg()
|
||||
|
@ -75,12 +75,13 @@ install_packages()
|
|||
[ $# -lt 2 ] && $err "fewer than two arguments"
|
||||
[ $# -gt 2 ] && reinstall="$3"
|
||||
|
||||
eval `setcfg "config/dependencies/$2"`
|
||||
eval "`setcfg "config/dependencies/$2"`"
|
||||
|
||||
chkvars pkg_add pkglist
|
||||
$pkg_add $pkglist || $err "Cannot install packages"
|
||||
|
||||
[ -n "$aur_notice" ] && \
|
||||
printf "You need AUR packages: %s\n" "$aur_notice" 1>&2; return 0
|
||||
printf "You need AUR packages: %s\n" "$aur_notice" 1>&2; :
|
||||
}
|
||||
if [ $# -gt 0 ] && [ "$1" = "dependencies" ]; then
|
||||
install_packages "$@" || exit 1
|
||||
|
@ -267,7 +268,7 @@ cbfs()
|
|||
mk()
|
||||
{
|
||||
mk_flag="$1" || $err "No argument given"
|
||||
shift 1 && for mk_arg in $@; do
|
||||
shift 1 && for mk_arg in "$@"; do
|
||||
./mk $mk_flag $mk_arg || $err "./mk $mk_flag $mk_arg"; :
|
||||
done; :
|
||||
}
|
||||
|
|
|
@ -43,8 +43,9 @@ copyps1bios()
|
|||
|
||||
mkpayload_grub()
|
||||
{
|
||||
eval `setvars "" grub_modules grub_install_modules`
|
||||
$dry eval `setcfg "$grubdata/module/$tree"`
|
||||
eval "`setvars "" grub_modules grub_install_modules`"
|
||||
$dry eval "`setcfg "$grubdata/module/$tree"`"
|
||||
$dry chkvars grub_modules grub_install_modules
|
||||
$dry x_ rm -f "$srcdir/grub.elf"; $dry \
|
||||
"$srcdir/grub-mkstandalone" --grub-mkimage="$srcdir/grub-mkimage" \
|
||||
-O i386-coreboot -o "$srcdir/grub.elf" -d "${srcdir}/grub-core/" \
|
||||
|
@ -111,7 +112,8 @@ mkcorebootbin()
|
|||
|
||||
if [ "$payload_uboot_i386" = "y" ] || \
|
||||
[ "$payload_uboot_amd64" = "y" ]; then
|
||||
printf "'$target' has x86 U-Boot; assuming SeaBIOS=y\n" 1>&2
|
||||
printf "'%s' has x86 U-Boot; assuming SeaBIOS=y\n" \
|
||||
"$target" 1>&2
|
||||
payload_seabios="y"
|
||||
fi
|
||||
|
||||
|
@ -202,10 +204,12 @@ mkseagrub()
|
|||
add_uboot()
|
||||
{
|
||||
if [ "$displaymode" = "txtmode" ]; then
|
||||
printf "cb/$target: Cannot use U-Boot in text mode\n" 1>&2
|
||||
printf "cb/%s: Cannot use U-Boot in text mode\n" \
|
||||
"$target" 1>&2
|
||||
return 0
|
||||
elif [ "$initmode" = "normal" ]; then
|
||||
printf "cb/$target: Cannot use U-Boot in normal initmode\n" 1>&2
|
||||
printf "cb/%s: Cannot use U-Boot in normal initmode\n" \
|
||||
"$target" 1>&2
|
||||
return 0
|
||||
fi
|
||||
|
||||
|
|
33
script/trees
33
script/trees
|
@ -11,13 +11,13 @@ set -u -e
|
|||
|
||||
XBMKPATH="$PATH"
|
||||
|
||||
eval `setvars "" xarch srcdir premake cmakedir xlang mode makeargs elfdir cmd \
|
||||
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 gnatdir`; badhash="n"
|
||||
gnatver gnatfull gccdir cmakedir`"; badhash="n"
|
||||
|
||||
tree()
|
||||
main()
|
||||
{
|
||||
while getopts f:b:m:u:c:x:s:l:n:d: option; do
|
||||
[ -n "$_f" ] && $err "only one flag is permitted"
|
||||
|
@ -53,7 +53,7 @@ tree()
|
|||
e "$mkhelpercfg" f missing && mkhelpercfg="$TMPDIR/mkhelper.cfg" && \
|
||||
x_ touch "$mkhelpercfg"
|
||||
|
||||
targets="$@"; cmd="build_targets $targets"
|
||||
targets="$*"; cmd="build_targets $targets"
|
||||
singletree "$project" && cmd="build_project"
|
||||
|
||||
remkdir "${tmpgit%/*}"
|
||||
|
@ -115,14 +115,15 @@ handle_defconfig()
|
|||
|
||||
configure_project()
|
||||
{
|
||||
eval `setvars "" xarch xlang build_depend autoconfargs xtree postmake \
|
||||
eval "`setvars "" cleanargs build_depend autoconfargs xtree postmake \
|
||||
tree_depend makeargs btype mkhelper bootstrapargs premake release \
|
||||
cleanargs`
|
||||
xarch xlang`"
|
||||
_tcfg="$1/target.cfg"; badhash="n"; [ -f "$_tcfg" ] || btype="auto"
|
||||
[ -f "$datadir/mkhelper.cfg" ] && eval `setcfg "$datadir/mkhelper.cfg"`
|
||||
[ -f "$datadir/mkhelper.cfg" ] && \
|
||||
eval "`setcfg "$datadir/mkhelper.cfg"`"
|
||||
|
||||
while [ -f "$_tcfg" ] || [ "$cmd" != "build_project" ]; do
|
||||
eval `setvars "" rev tree`; eval `setcfg "$_tcfg"`
|
||||
eval "`setvars "" rev tree`"; eval "`setcfg "$_tcfg"`"
|
||||
printf "Loading %s config: %s\n" "$project" "$_tcfg"
|
||||
|
||||
[ "$_f" = "-d" ] && build_depend="" # dry run
|
||||
|
@ -140,7 +141,7 @@ configure_project()
|
|||
[ -n "$tree" ] && mdir="$mdir/$tree"
|
||||
[ -f "CHANGELOG" ] || check_project_hashes
|
||||
|
||||
[ "$mode" = "fetch" ] || x_ ./mk -f "$project" $target
|
||||
[ "$mode" = "fetch" ] || x_ ./mk -f "$project" "$target"
|
||||
[ "$mode" = "fetch" ] || return 0
|
||||
[ -f "CHANGELOG" ] && return 1; fetch_${cmd#build_}; return 1
|
||||
}
|
||||
|
@ -198,7 +199,7 @@ check_cross_compiler()
|
|||
[ "$project" != "coreboot" ] && cbdir="src/coreboot/default"
|
||||
[ -n "$xtree" ] && cbdir="src/coreboot/$xtree"
|
||||
|
||||
x_ ./mk -f coreboot ${cbdir#src/coreboot/}
|
||||
x_ ./mk -f coreboot "${cbdir#src/coreboot/}"
|
||||
|
||||
export PATH="$PWD/$cbdir/util/crossgcc/xgcc/bin:$PATH"
|
||||
export CROSS_COMPILE="${xarch% *}-"
|
||||
|
@ -234,16 +235,16 @@ check_gnu_path()
|
|||
eval "[ \"\$$_gnuarg\" = \"gnat\" ] && continue"
|
||||
$err "check_gnu_path: Invalid argument \"$_gnuarg\""
|
||||
done
|
||||
command -v $1 1>/dev/null || $err "Host '$1' unavailable"
|
||||
command -v "$1" 1>/dev/null || $err "Host '$1' unavailable"
|
||||
|
||||
eval `setvars "" gccver gccfull gnatver gnatfull gccdir gnatdir`
|
||||
eval "`setvars "" gccver gccfull gnatver gnatfull gccdir gnatdir`"
|
||||
gnu_setver "$1" "$1" || $err "Command '$1' unavailable."
|
||||
gnu_setver "$2" "$2" || :
|
||||
|
||||
eval "[ -z \"\$$1ver\" ] && $err \"Cannot detect host '$1' version\""
|
||||
[ "$gnatfull" = "$gccfull" ] && return 0
|
||||
|
||||
eval "$1dir="$(dirname "$(command -v $1)")""
|
||||
eval "$1dir=\"$(dirname "$(command -v "$1")")\""
|
||||
eval "_gnudir=\"\$$1dir\"; _gnuver=\"\$$1ver\""
|
||||
for _gnubin in "$_gnudir/$2-"*; do
|
||||
[ -f "$_gnubin" ] || continue
|
||||
|
@ -266,7 +267,7 @@ check_gnu_path()
|
|||
gnu_setver()
|
||||
{
|
||||
eval "$2 --version 1>/dev/null 2>/dev/null || return 1"
|
||||
eval "$1ver=\"`$2 --version 2>/dev/null | head -n1`\""
|
||||
eval "$1ver=\"`"$2" --version 2>/dev/null | head -n1`\""
|
||||
eval "$1ver=\"\${$1ver##* }\""
|
||||
eval "$1full=\"\$$1ver\""
|
||||
eval "$1ver=\"\${$1ver%%.*}\""; :
|
||||
|
@ -316,7 +317,7 @@ run_make_command()
|
|||
$dry make -C "$srcdir" $mode -j$XBMK_THREADS $makeargs || $err "!$mode"
|
||||
[ -z "$mkhelper" ] || [ -n "$mode" ] || $mkhelper || $err "!$mkhelper"
|
||||
|
||||
[ "$mode" = "clean" ] && \
|
||||
[ "$mode" != "clean" ] || \
|
||||
$dry make -C "$srcdir" $cleanargs distclean || :; :
|
||||
}
|
||||
|
||||
|
@ -352,6 +353,6 @@ copy_elf()
|
|||
done < "$listfile"; x_ make clean -C "$srcdir" $cleanargs
|
||||
}
|
||||
|
||||
tree "$@" || exit 0
|
||||
main "$@" || exit 0
|
||||
. "$mkhelpercfg"
|
||||
$cmd
|
||||
|
|
Loading…
Reference in New Issue