summaryrefslogtreecommitdiff
path: root/script/build
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-09-30 18:41:57 +0100
committerLeah Rowe <leah@libreboot.org>2023-09-30 19:09:25 +0100
commit0a0defd3256ff5e29e3b4d129a04fb7546bc31ac (patch)
tree479d686f0578b506dbe3f862300e73c090ed8bcc /script/build
parent49b266eb4248f87d111e9babae86a873300afa03 (diff)
simplify initialising variables in shell scripts
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'script/build')
-rwxr-xr-xscript/build/boot/roms_helper48
-rwxr-xr-xscript/build/release/roms10
-rwxr-xr-xscript/build/release/src10
3 files changed, 16 insertions, 52 deletions
diff --git a/script/build/boot/roms_helper b/script/build/boot/roms_helper
index a92012e1..dcadc4b9 100755
--- a/script/build/boot/roms_helper
+++ b/script/build/boot/roms_helper
@@ -14,41 +14,21 @@ set -u -e
read projectname < projectname
+seavgabiosrom="elf/seabios/default/libgfxinit/vgabios.bin"
+grub_background="background1280x800.png"
+grubelf="elf/grub/grub.elf"
cfgsdir="config/coreboot"
-
-blobs_required=""
-
-ubdir=""
kmapdir="config/grub/keymap"
-grub_timeout=""
-grub_scan_disk="undefined"
-tree="undefined"
-arch="undefined"
-
# Disable all payloads by default.
# target.cfg files have to specifically enable [a] payload(s)
-payload_grub="n"
-payload_grub_withseabios="n" # seabios chainloaded from grub
-payload_seabios="n"
-payload_seabios_withgrub="n" # i386-coreboot grub from SeaBIOS boot menu
-payload_memtest="n"
-payload_uboot="n"
-uboot_config="undefined"
-
-romdir=""
-cbdir=""
-cbfstool=""
-corebootrom=""
-seavgabiosrom="elf/seabios/default/libgfxinit/vgabios.bin"
-grub_background="background1280x800.png"
+eval "$(setvars "n" payload_grub payload_grub_withseabios payload_seabios \
+ payload_seabios_withgrub payload_memtest payload_uboot)"
-initmode=""
-displaymode=""
-cbcfg=""
-targetdir=""
+eval "$(setvars "" romdir cbdir cbfstool corebootrom initmode displaymode \
+ cbcfg targetdir grub_timeout ubdir blobs_required)"
-grubelf="elf/grub/grub.elf"
+eval "$(setvars "undefined" grub_scan_disk tree arch uboot_config)"
# main() is in include/boot.sh
@@ -120,13 +100,9 @@ configure_target()
# Override all payload directives with cmdline args
if [ ! -z ${_payload} ]; then
printf "setting payload to: %s\n" "${_payload}"
- payload_grub="n"
- payload_grub_withseabios="n" # seabios chainloaded from grub
- payload_seabios="n"
- payload_seabios_withgrub="n" # i386-coreboot grub from SeaBIOS
- payload_uboot="n"
- payload_memtest="n"
-
+ eval "$(setvars "n" payload_grub payload_grub_withseabios \
+ payload_seabios payload_seabios_withgrub payload_uboot \
+ payload_memtest)"
eval "payload_${_payload}=y"
fi
}
@@ -494,10 +470,8 @@ moverom() {
[ -d "${newrompath%/*}" ] || mkdir -p "${newrompath%/*}/" || \
err "moverom: cannot create rom directory: \"${newrompath%/*}\""
-
[ "${blobs_required}" = "n" ] && \
newrompath="${newrompath%.rom}_noblobs.rom"
-
cp "${rompath}" "${newrompath}" || err "moverom: can't copy rom"
}
diff --git a/script/build/release/roms b/script/build/release/roms
index b19d404c..4a18037d 100755
--- a/script/build/release/roms
+++ b/script/build/release/roms
@@ -11,11 +11,8 @@ read projectname < projectname
version="version-unknown"
versiondate="version-date-unknown"
tree="default"
-target=""
-CONFIG_HAVE_MRC=""
-CONFIG_HAVE_ME_BIN=""
-CONFIG_KBC1126_FIRMWARE=""
-CONFIG_INCLUDE_SMSC_SCH5545_EC_FW=""
+eval "$(setvars "" target CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN \
+ CONFIG_KBC1126_FIRMWARE CONFIG_INCLUDE_SMSC_SCH5545_EC_FW)"
ifdtool="cbutils/${tree}/ifdtool"
cbfstool="cbutils/${tree}/cbfstool"
microcode_required="y"
@@ -25,12 +22,10 @@ main()
printf "Building ROM image archives for version %s\n" "${version}"
init_check
-
for romdir in bin/*; do
[ -d "${romdir}" ] || continue
make_archive "${romdir}"
done
-
printf "\nROM archives available at release/%s/roms/\n\n" "${version}"
}
@@ -51,7 +46,6 @@ init_check()
[ ! -d "release/${version}/roms/" ] || \
rm -Rf "release/${version}/roms/" || \
err "init_check: !rm -Rf release/${version}/roms/"
-
if [ ! -d "release/${version}/roms/" ]; then
mkdir -p "release/${version}/roms/" || \
err "init_check: !mkdir -p release/${version}/roms/"
diff --git a/script/build/release/src b/script/build/release/src
index 2e80b0c4..c29869f5 100755
--- a/script/build/release/src
+++ b/script/build/release/src
@@ -21,18 +21,14 @@ filelist="${filelist} checkversion"
version="version-unknown"
versiondate="version-date-unknown"
-reldir=""
-dirname=""
-srcdir=""
+eval "$(setvars "" reldir dirname srcdir)"
printf "Building source code archive, version %s\n" "${version}"
main()
{
- [ -f version ] && \
- read version < version
- [ -f versiondate ] && \
- read versiondate < versiondate
+ [ -f version ] && read version < version
+ [ -f versiondate ] && read versiondate < versiondate
create_release_directory
download_modules