summaryrefslogtreecommitdiff
path: root/resources/scripts
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-05-25 21:54:59 +0100
committerLeah Rowe <leah@libreboot.org>2023-05-27 08:10:50 +0100
commita4ea2867319471d9fe7d4ee540881e0286b4d3cf (patch)
tree208e9c462ceab67c30c8a51885e7032fd12f4283 /resources/scripts
parent2be1a8ea76cc33be4ec359155d2276046f1007a6 (diff)
Remove most of Ferass's lbmk contributions
The primary purpose of my intense auditing has been to improve lbmk's coding style and fix bugs but there is a secondary purpose: know precisely who owns what, because I want to re-license as much as possible of lbmk under *MIT*, instead of the current GNU licensing. MIT is vastly superior, because it grants *actual* freedom to the user, permits *sublicensing* and it is vastly more compatible with other GPL combinations; for example, MIT license is compatible with GPL2-only whereas lbmk's current mix of GPLv3-or-later and GPLv3-only is legally incompatible with GPLv2-only. Re-licensing under MIT will most likely result in more contributions to Libreboot's build system in the future, especially as it will attract a lot more commercial interest. Contrary to the popular arguments, copyleft is a liability to the free software movement and results in less code being written; in practise, permissively licensed code gets more public contributions, including from commercial entities, even if companies can theoretically make something proprietary out of it (in practise, anyone inclined can just use the upstream and proprietary forks almost always die). Copyleft propaganda is fundamentally flawed. See: <https://unixsheikh.com/articles/the-problems-with-the-gpl.html> Anyway, I've been doing a combination of: * Seeking permission from other copyright holders, for re-licensing * Deleting, or moving, other contributions; for example, splitting certain contributions into separate files so that originally modified files become unencumbered. This latter solution is a result of *code cleanup* arising from the audit. For Ferass's contributions, I opted to seek *permission*, and permission was denied. In full compliance with this legal imperative, I'm acting accordingly; this commit removes all of Ferass's changes that converted lbmk to posix shell scripts, thus removing his copyright on the affected files, bypassing his authority entirely. Therefore, lbmk is largely now bash-dependent. In practise, nobody is going to use anything other than a GNU system to build Libreboot, because many projects that Libreboot makes use of rely heavily on GNU; for example, coreboot's build system makes heavy use of GNU-specific extensions in *GNU Make*, and likely contains many bashisms. Of course, Libreboot also compiles GNU GRUB. I would much rather have MIT-licensed Bash scripts than GPL-licensed posix SCL scripts. This reverts the changes from Ferass El Hafidi, for the following commits, with some exceptions: * 7f5dfebf7d37c56d9c7993aaa17c59070cb5aec9 * f787044642236917c9c4dbcaa48a6b0648097db0 Exception: download/mrc not reverted, because that was already a fork of an existing script under coreboot's build system, and their script was GPLv2. i cannot/will not re-license this file (ergo, 7f5dfebf7d37c56d9c7993aaa17c59070cb5aec9 change remains intact, on this file) resources/scripts/build/boot/roms_helper, these changes have been kept: * 7e6691e9 - Add ARMv7 and AArch64 support * dec2d720 - add myself in the build/roms_helper script (added 2021 copyright for the change below) * b7405656 - Workaround for grub's slow boot ^ these changes will be re-factored, splitting them out of the file into a new file. This will be done in a future lbmk revision. (in some cases, it makes sense to keep a change but split it, allowing the main file to be re-licensed without the change in it) This is part of a much larger series of licensing audits. It's likely that lbmk will be posix-compliant (in its shell scripts) again some day, because I'm planning to rewrite most of these scripts (the ones modified in this patch), and many of them (e.g. individual download scripts) are subject to future deletion in a planned overhaul of the download logic for third party projects. In addition: these changes are being kept (no attempt to re-license them will be made): * cff081c6 - Fix grub's slow boot (1 year, 5 months ago) <Vitali64> * 4c851889 - Add macbook*1 16mb configs (1 year, 6 months ago) <Vitali64> Ferass's work that remains will be split into dedicated files containing them, where feasible. In the case of grub.cfg (for GNU GRUB), I don't care because it's a script for an engine (GRUB shell) that's under GPL anyway, so who really cares about MIT license. Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'resources/scripts')
-rwxr-xr-xresources/scripts/blobs/download27
-rwxr-xr-xresources/scripts/blobs/extract2
-rwxr-xr-xresources/scripts/blobs/inject7
-rwxr-xr-xresources/scripts/build/boot/roms15
-rwxr-xr-xresources/scripts/build/boot/roms_helper26
-rwxr-xr-xresources/scripts/build/clean/cbutils6
-rwxr-xr-xresources/scripts/build/clean/crossgcc4
-rwxr-xr-xresources/scripts/build/clean/flashrom4
-rwxr-xr-xresources/scripts/build/clean/grub2
-rwxr-xr-xresources/scripts/build/clean/ich9utils2
-rwxr-xr-xresources/scripts/build/clean/memtest86plus2
-rwxr-xr-xresources/scripts/build/clean/payloads2
-rwxr-xr-xresources/scripts/build/clean/rom_images2
-rwxr-xr-xresources/scripts/build/clean/seabios2
-rwxr-xr-xresources/scripts/build/clean/u-boot2
-rw-r--r--resources/scripts/build/dependencies/arch2
-rwxr-xr-xresources/scripts/build/dependencies/debian2
-rwxr-xr-xresources/scripts/build/dependencies/fedora382
-rwxr-xr-xresources/scripts/build/dependencies/parabola2
-rwxr-xr-xresources/scripts/build/dependencies/ubuntu20042
-rwxr-xr-xresources/scripts/build/dependencies/void2
-rwxr-xr-xresources/scripts/build/descriptors/ich9m2
-rwxr-xr-xresources/scripts/build/module/cbutils6
-rwxr-xr-xresources/scripts/build/module/flashrom2
-rwxr-xr-xresources/scripts/build/module/grub2
-rwxr-xr-xresources/scripts/build/module/ich9utils2
-rwxr-xr-xresources/scripts/build/module/memtest86plus2
-rwxr-xr-xresources/scripts/build/payload/grub4
-rwxr-xr-xresources/scripts/build/payload/seabios7
-rwxr-xr-xresources/scripts/build/payload/u-boot10
-rwxr-xr-xresources/scripts/build/release/roms2
-rwxr-xr-xresources/scripts/build/release/src2
-rwxr-xr-xresources/scripts/download/coreboot5
-rwxr-xr-xresources/scripts/download/flashrom2
-rwxr-xr-xresources/scripts/download/grub2
-rwxr-xr-xresources/scripts/download/me_cleaner2
-rwxr-xr-xresources/scripts/download/memtest86plus2
-rwxr-xr-xresources/scripts/download/seabios2
-rwxr-xr-xresources/scripts/download/u-boot11
-rwxr-xr-xresources/scripts/misc/versioncheck2
-rwxr-xr-xresources/scripts/modify/coreboot/configs5
-rwxr-xr-xresources/scripts/modify/seabios/configs2
-rwxr-xr-xresources/scripts/modify/u-boot/configs5
-rwxr-xr-xresources/scripts/update/coreboot/configs5
-rwxr-xr-xresources/scripts/update/u-boot/configs4
45 files changed, 93 insertions, 114 deletions
diff --git a/resources/scripts/blobs/download b/resources/scripts/blobs/download
index 7c775ea5..57bdfe62 100755
--- a/resources/scripts/blobs/download
+++ b/resources/scripts/blobs/download
@@ -1,7 +1,6 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
-# SPDX-FileCopyrightText: 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# SPDX-FileCopyrightText: 2023 Leah Rowe <info@minifree.org>
# SPDX-License-Identifier: GPL-3.0-only
@@ -64,23 +63,23 @@ detect_firmware()
. "${boarddir}/board.cfg"
if [ "${CONFIG_HAVE_MRC}" = "y" ]; then
- needs="${needs} MRC"
+ needs+=" MRC"
fi
if [ "${CONFIG_HAVE_IFD_BIN}" = "y" ]; then
- needs="${needs} IFD"
+ needs+=" IFD"
fi
if [ "${CONFIG_HAVE_ME_BIN}" = "y" ]; then
- needs="${needs} ME"
+ needs+=" ME"
fi
if [ "${CONFIG_HAVE_GBE_BIN}" = "y" ]; then
- needs="${needs} GBE"
+ needs+=" GBE"
fi
if [ "${CONFIG_KBC1126_FIRMWARE}" = "y" ]; then
- needs="${needs} EC"
+ needs+=" EC"
fi
if [ "${CONFIG_BOARD_DELL_E6400}" = "y" ] \
&& [ "${CONFIG_VGA_BIOS_FILE}" != "" ]; then
- needs="${needs} E6400VGA"
+ needs+=" E6400VGA"
fi
if [ -z ${needs+x} ]; then
printf 'No binary blobs needed for this board\n'
@@ -143,9 +142,7 @@ scan_sources_config()
e6400_vga_romname=${2}
;;
esac
- done << EOF
- $(eval "awk '${awkstr}' resources/blobs/sources")
-EOF
+ done <<< $(eval "awk '${awkstr}' resources/blobs/sources")
}
build_dependencies()
@@ -181,16 +178,16 @@ download_blobs()
for need in ${needs}; do
case ${need} in
*ME*)
- download_blob_intel_me || _failed="${_failed} me"
+ download_blob_intel_me || _failed+=" me"
;;
*EC*)
- download_ec || _failed="${_failed} ec"
+ download_ec || _failed+=" ec"
;;
*E6400VGA*)
- download_e6400vga || _failed="${_failed} e6400vga"
+ download_e6400vga || _failed+=" e6400vga"
;;
*MRC*)
- ./download mrc || _failed="${_failed} mrc"
+ ./download mrc || _failed+=" mrc"
;;
esac
done
diff --git a/resources/scripts/blobs/extract b/resources/scripts/blobs/extract
index b32ec0ea..8e9c74ed 100755
--- a/resources/scripts/blobs/extract
+++ b/resources/scripts/blobs/extract
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# script to automate extracting blobs from an existing vendor bios
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
diff --git a/resources/scripts/blobs/inject b/resources/scripts/blobs/inject
index ca8aae4c..51f67255 100755
--- a/resources/scripts/blobs/inject
+++ b/resources/scripts/blobs/inject
@@ -1,7 +1,6 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
-# SPDX-FileCopyrightText: 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# SPDX-FileCopyrightText: 2023 Leah Rowe <info@minifree.org>
# SPDX-License-Identifier: GPL-3.0-only
@@ -112,10 +111,10 @@ detect_board()
filename=$(basename ${path})
case ${filename} in
grub_*)
- board=$(echo "${filename}" | cut -d '_' -f2-3)
+ board=$(cut -d '_' -f2-3 <<<${filename})
;;
seabios_withgrub_*)
- board=$(echo "${filename}" | cut -d '_' -f3-4)
+ board=$(cut -d '_' -f3-4 <<<${filename})
;;
*.tar.xz)
_stripped_prefix=${filename#*_}
diff --git a/resources/scripts/build/boot/roms b/resources/scripts/build/boot/roms
index f0398273..07f92a83 100755
--- a/resources/scripts/build/boot/roms
+++ b/resources/scripts/build/boot/roms
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
#
# helper script: build coreboot images with various payloads
@@ -7,7 +7,6 @@
# <info@minifree.org>
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -31,7 +30,7 @@ set -u -e
projectname="$(cat projectname)"
opts=""
-boards=
+boards=""
firstoption="${1}"
main()
@@ -50,19 +49,19 @@ main()
exit 0
fi
- while [ $# -gt 0 ]; do
+ while [[ $# > 0 ]]; do
case ${1} in
-d)
- opts="${opts} -d ${2}"
+ opts+=" -d ${2}"
shift ;;
-p)
- opts="${opts} -p ${2}"
+ opts+=" -p ${2}"
shift ;;
-k)
- opts="${opts} -k ${2}"
+ opts+=" -k ${2}"
shift ;;
*)
- boards="${boards} ${1} " ;;
+ boards+=" ${1} " ;;
esac
shift
done
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index 02d8f61f..c5cb5df4 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -1,10 +1,9 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: create ROM images for a given mainboard
#
# Copyright (C) 2020,2021,2023 Leah Rowe <info@minifree.org>
-# Copyright (C) 2021,2022 Ferass El Hafidi
-# <vitali64pmemail@protonmail.com>
+# Copyright (C) 2021 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
#
@@ -64,16 +63,16 @@ CROSS_COMPILE=""
main()
{
- while [ $# -gt 0 ]; do
+ while [[ $# > 0 ]]; do
case ${1} in
-d)
- displaymodes="${displaymodes}${2}"
+ displaymodes+="${2}"
shift ;;
-p)
- payloads="${payloads}${2}"
+ payloads+="${2}"
shift ;;
-k)
- keyboard_layouts="${keyboard_layouts}${2}"
+ keyboard_layouts+="${2}"
shift ;;
*)
board=${1} ;;
@@ -108,7 +107,7 @@ load_config()
exit 1
fi
- . "${boardcfgdir}/board.cfg"
+ source "${boardcfgdir}/board.cfg"
if [ "${board}" != "${cbtree}" ]; then
cbdir="coreboot/${cbtree}"
@@ -555,11 +554,11 @@ mkRomsWithGrub()
keymaps=""
if [ -z ${keyboard_layouts} ]; then
for kmapfile in "${kmapdir}"/*; do
- keymaps="${keymaps} ${kmapfile}"
+ keymaps+=" ${kmapfile}"
done
else
for keymapname in ${keyboard_layouts}; do
- keymaps="${keymaps} ${kmapdir}/${keymapname}.gkb"
+ keymaps+=" ${kmapdir}/${keymapname}.gkb"
done
fi
for keymapfile in ${keymaps}; do
@@ -695,11 +694,10 @@ moverom()
if [ "${cuttype}" = "i945 laptop" ]; then
dd if=${_newrom} of=top64k.bin bs=1 \
- skip=$(($(stat -c %s ${_newrom}) - 0x10000)) \
+ skip=$[$(stat -c %s ${_newrom}) - 0x10000] \
count=64k
- dd if=top64k.bin of=${_newrom} bs=1 \
- seek=$(($(stat -c %s ${_newrom}) - 0x20000)) \
- count=64k conv=notrunc
+ dd if=top64k.bin of=${_newrom} bs=1 seek=$[$(stat -c %s \
+ ${_newrom}) - 0x20000] count=64k conv=notrunc
rm -f top64k.bin
return 0
fi
diff --git a/resources/scripts/build/clean/cbutils b/resources/scripts/build/clean/cbutils
index 0c0df0d3..2aff915f 100755
--- a/resources/scripts/build/clean/cbutils
+++ b/resources/scripts/build/clean/cbutils
@@ -1,9 +1,9 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: clean the dependencies that were built in coreboot
#
# Copyright (C) 2014, 2015, 2016, 2020 Leah Rowe <info@minifree.org>
-# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
+# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@ for board in coreboot/*; do
make -C "${board}/" distclean
# Clean its utilities as well
- for util in cbfstool ifdtool nvramtool cbmem; do
+ for util in {cbfs,ifd,nvram}tool cbmem; do
make -C "${board}/util/${util}/" clean
done
make -C "${board}/payloads/libpayload/" distclean
diff --git a/resources/scripts/build/clean/crossgcc b/resources/scripts/build/clean/crossgcc
index 6c09c878..7dcbf4a4 100755
--- a/resources/scripts/build/clean/crossgcc
+++ b/resources/scripts/build/clean/crossgcc
@@ -1,9 +1,9 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: clean the crossgcc builds
#
# Copyright (C) 2014-2016, 2020, 2023 Leah Rowe <info@minifree.org>
-# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
+# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/resources/scripts/build/clean/flashrom b/resources/scripts/build/clean/flashrom
index 744052fc..516a8d87 100755
--- a/resources/scripts/build/clean/flashrom
+++ b/resources/scripts/build/clean/flashrom
@@ -1,9 +1,9 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: clean the dependencies that were built in flashrom
#
# Copyright (C) 2014, 2015 Leah Rowe <info@minifree.org>
-# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
+# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/resources/scripts/build/clean/grub b/resources/scripts/build/clean/grub
index dea2c2dd..4330dfca 100755
--- a/resources/scripts/build/clean/grub
+++ b/resources/scripts/build/clean/grub
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: clean the dependencies that were built in GRUB
#
diff --git a/resources/scripts/build/clean/ich9utils b/resources/scripts/build/clean/ich9utils
index 38ad439f..35b9dc4b 100755
--- a/resources/scripts/build/clean/ich9utils
+++ b/resources/scripts/build/clean/ich9utils
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: clean the previous build of ich9utils
#
diff --git a/resources/scripts/build/clean/memtest86plus b/resources/scripts/build/clean/memtest86plus
index 807b20a7..e4d7b200 100755
--- a/resources/scripts/build/clean/memtest86plus
+++ b/resources/scripts/build/clean/memtest86plus
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: clean the dependencies that were built in memtest86+
#
diff --git a/resources/scripts/build/clean/payloads b/resources/scripts/build/clean/payloads
index 4d77b9ea..f4dab88a 100755
--- a/resources/scripts/build/clean/payloads
+++ b/resources/scripts/build/clean/payloads
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: nothing to see here, forks!
#
diff --git a/resources/scripts/build/clean/rom_images b/resources/scripts/build/clean/rom_images
index cd41d499..cac69226 100755
--- a/resources/scripts/build/clean/rom_images
+++ b/resources/scripts/build/clean/rom_images
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: delete the ROM images
#
diff --git a/resources/scripts/build/clean/seabios b/resources/scripts/build/clean/seabios
index 0757db9d..6362a311 100755
--- a/resources/scripts/build/clean/seabios
+++ b/resources/scripts/build/clean/seabios
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: clean the dependencies that were built in seabios
#
diff --git a/resources/scripts/build/clean/u-boot b/resources/scripts/build/clean/u-boot
index 6a59a5c1..5d9a324a 100755
--- a/resources/scripts/build/clean/u-boot
+++ b/resources/scripts/build/clean/u-boot
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: clean the u-boot builds
#
diff --git a/resources/scripts/build/dependencies/arch b/resources/scripts/build/dependencies/arch
index c20a1faf..91210191 100644
--- a/resources/scripts/build/dependencies/arch
+++ b/resources/scripts/build/dependencies/arch
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# arch script: installs build dependencies for Arch Linux
#
diff --git a/resources/scripts/build/dependencies/debian b/resources/scripts/build/dependencies/debian
index fb0ae248..789ee749 100755
--- a/resources/scripts/build/dependencies/debian
+++ b/resources/scripts/build/dependencies/debian
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# ubuntu2004 script: installs build dependencies for Ubuntu 20.04
#
diff --git a/resources/scripts/build/dependencies/fedora38 b/resources/scripts/build/dependencies/fedora38
index 2389b806..396300e8 100755
--- a/resources/scripts/build/dependencies/fedora38
+++ b/resources/scripts/build/dependencies/fedora38
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# Fedora script: installs build dependencies for Fedora
#
diff --git a/resources/scripts/build/dependencies/parabola b/resources/scripts/build/dependencies/parabola
index da284bed..c841c7c2 100755
--- a/resources/scripts/build/dependencies/parabola
+++ b/resources/scripts/build/dependencies/parabola
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# parabola script: installs build dependencies for Parabola GNU/Linux-libre
# based on the arch script
diff --git a/resources/scripts/build/dependencies/ubuntu2004 b/resources/scripts/build/dependencies/ubuntu2004
index 14a1d8c2..dda88fde 100755
--- a/resources/scripts/build/dependencies/ubuntu2004
+++ b/resources/scripts/build/dependencies/ubuntu2004
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# ubuntu2004 script: installs build dependencies for Ubuntu 20.04
#
diff --git a/resources/scripts/build/dependencies/void b/resources/scripts/build/dependencies/void
index e46cd5ee..bbd00a15 100755
--- a/resources/scripts/build/dependencies/void
+++ b/resources/scripts/build/dependencies/void
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# void script: installs build dependencies for Void Linux
#
diff --git a/resources/scripts/build/descriptors/ich9m b/resources/scripts/build/descriptors/ich9m
index b9a077d9..35cc9570 100755
--- a/resources/scripts/build/descriptors/ich9m
+++ b/resources/scripts/build/descriptors/ich9m
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# Copyright (C) 2020, 2023 Leah Rowe <info@minifree.org>
#
diff --git a/resources/scripts/build/module/cbutils b/resources/scripts/build/module/cbutils
index b362ee7a..526467bd 100755
--- a/resources/scripts/build/module/cbutils
+++ b/resources/scripts/build/module/cbutils
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: build various coreboot utilities
#
@@ -44,7 +44,7 @@ build_for_mainboard() {
[ ! -f "resources/coreboot/${board}/board.cfg" ] && \
continue
cbtree="undefined"
- . "resources/coreboot/${board}/board.cfg" # source
+ source "resources/coreboot/${board}/board.cfg" # source
if [ "${cbtree}" = "undefined" ]; then
printf "build/cbutils: improper cbtree definition for '%s'" \
"${board}"
@@ -58,7 +58,7 @@ buildutils() {
if [ ! -d "coreboot/${cbtree}/" ]; then
./download coreboot $cbtree || return 1
fi
- for util in cbfstool ifdtool; do
+ for util in {cbfs,ifd}tool; do
make -j$(nproc) -BC "coreboot/${cbtree}/util/${util}/" \
|| return 1
done
diff --git a/resources/scripts/build/module/flashrom b/resources/scripts/build/module/flashrom
index 37f57ce0..c1641d94 100755
--- a/resources/scripts/build/module/flashrom
+++ b/resources/scripts/build/module/flashrom
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: builds flashrom source code
#
diff --git a/resources/scripts/build/module/grub b/resources/scripts/build/module/grub
index 5cf58a67..4d2009ed 100755
--- a/resources/scripts/build/module/grub
+++ b/resources/scripts/build/module/grub
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: builds GRUB2 source code
#
diff --git a/resources/scripts/build/module/ich9utils b/resources/scripts/build/module/ich9utils
index 5473a513..5a9fbe4b 100755
--- a/resources/scripts/build/module/ich9utils
+++ b/resources/scripts/build/module/ich9utils
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: build ich9utils
#
diff --git a/resources/scripts/build/module/memtest86plus b/resources/scripts/build/module/memtest86plus
index 7fc46be9..f57b7c57 100755
--- a/resources/scripts/build/module/memtest86plus
+++ b/resources/scripts/build/module/memtest86plus
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: builds memtest86+ source code
#
diff --git a/resources/scripts/build/payload/grub b/resources/scripts/build/payload/grub
index 23765f47..7569fd86 100755
--- a/resources/scripts/build/payload/grub
+++ b/resources/scripts/build/payload/grub
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# generate GRUB ELF files (coreboot payload) and configuration files
#
@@ -24,7 +24,7 @@ set -u -e
grubcfgsdir="resources/grub"
keymap=""
-. "${grubcfgsdir}/modules.list"
+source "${grubcfgsdir}/modules.list"
main()
{
diff --git a/resources/scripts/build/payload/seabios b/resources/scripts/build/payload/seabios
index c05b1b11..e6ae28f9 100755
--- a/resources/scripts/build/payload/seabios
+++ b/resources/scripts/build/payload/seabios
@@ -1,9 +1,8 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: builds SeaBIOS source code
#
# Copyright (C) 2020, 2021, 2023 Leah Rowe <info@minifree.org>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -34,9 +33,7 @@ main()
build_seabios_payloads
# clean it again. gotta keep it clean!
- if [ -f seabios/Makefile ]; then
- make distclean -BC seabios || exit 1
- fi
+ [[ -f Makefile ]] && make -C seabios distclean
printf "Done! SeaBIOS files are in %s/\n\n" ${payloaddir}
}
diff --git a/resources/scripts/build/payload/u-boot b/resources/scripts/build/payload/u-boot
index bff41400..bc1cf997 100755
--- a/resources/scripts/build/payload/u-boot
+++ b/resources/scripts/build/payload/u-boot
@@ -3,7 +3,6 @@
# helper script: builds U-Boot source code
#
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# Copyright (C) 2023 Leah Rowe <leah@libreboot.org>
#
# This program is free software: you can redistribute it and/or modify
@@ -97,7 +96,7 @@ handle_dependencies()
fi
# Override the above defaults using board.cfg
- . "${board_dir}/board.cfg" # source
+ source "${board_dir}/board.cfg" # source
if [ "${ubtree}" = "undefined" ]; then
printf "build/u-boot %s: ubtree undefined\n" \
@@ -162,12 +161,7 @@ build_uboot_elf()
make -C "${ubdir}" olddefconfig
make -C "${ubdir}" -j"$(nproc)" all
- for f in "${ubdir}"/u-boot "${ubdir}"/u-boot.bin \
- "${ubdir}"/u-boot.dtb \
- "${ubdir}"/u-boot.img \
- "${ubdir}"/u-boot.itb \
- "${ubdir}"/u-boot.elf
- do
+ for f in "${ubdir}"/u-boot{,.bin,.dtb,.img,.itb,.elf}; do
if [ -f "$f" ]; then
mv "$f" "${dest_dir}/"
fi
diff --git a/resources/scripts/build/release/roms b/resources/scripts/build/release/roms
index 33200cc4..4a66ffa3 100755
--- a/resources/scripts/build/release/roms
+++ b/resources/scripts/build/release/roms
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: generate release archive (ROM images)
#
diff --git a/resources/scripts/build/release/src b/resources/scripts/build/release/src
index 09a9810e..4c5e3bb0 100755
--- a/resources/scripts/build/release/src
+++ b/resources/scripts/build/release/src
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: generate release archive (source code)
#
diff --git a/resources/scripts/download/coreboot b/resources/scripts/download/coreboot
index 2e78636b..75b61a6f 100755
--- a/resources/scripts/download/coreboot
+++ b/resources/scripts/download/coreboot
@@ -1,10 +1,9 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: download coreboot
#
# Copyright (C) 2014-2016,2020,2021,2023 Leah Rowe <info@minifree.org>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -87,7 +86,7 @@ fetch_coreboot_config()
check_config_for_board "${_board}" || return 1
# This is to override $cbrevision and $cbtree
- . "${cbcfgsdir}/${_board}/board.cfg" || exit 1
+ source "${cbcfgsdir}/${_board}/board.cfg" || exit 1
if [ "${_board}" != "${cbtree}" ]; then
_board="${cbtree}"
diff --git a/resources/scripts/download/flashrom b/resources/scripts/download/flashrom
index def33ffb..6aa3cab4 100755
--- a/resources/scripts/download/flashrom
+++ b/resources/scripts/download/flashrom
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: downloads flashrom and patches it
#
diff --git a/resources/scripts/download/grub b/resources/scripts/download/grub
index ff1ce55c..0620a775 100755
--- a/resources/scripts/download/grub
+++ b/resources/scripts/download/grub
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: Downloads GRUB and patches it.
#
diff --git a/resources/scripts/download/me_cleaner b/resources/scripts/download/me_cleaner
index 93173257..7dd52be7 100755
--- a/resources/scripts/download/me_cleaner
+++ b/resources/scripts/download/me_cleaner
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
#
# Copyright (C) 2020 Leah Rowe <info@minifree.org>
#
diff --git a/resources/scripts/download/memtest86plus b/resources/scripts/download/memtest86plus
index e4106f38..bceadbd9 100755
--- a/resources/scripts/download/memtest86plus
+++ b/resources/scripts/download/memtest86plus
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: Downloads MemTest86+ and patches it
#
diff --git a/resources/scripts/download/seabios b/resources/scripts/download/seabios
index 666c32ae..fd72de65 100755
--- a/resources/scripts/download/seabios
+++ b/resources/scripts/download/seabios
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
#
# Copyright (C) 2015, 2016, 2021 Leah Rowe <info@minifree.org>
#
diff --git a/resources/scripts/download/u-boot b/resources/scripts/download/u-boot
index 161608c9..1af513a4 100755
--- a/resources/scripts/download/u-boot
+++ b/resources/scripts/download/u-boot
@@ -1,10 +1,9 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: download u-boot
#
# Copyright (C) 2021 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -23,7 +22,7 @@
[ "x${DEBUG+set}" = 'xset' ] && set -v
set -u -e
-[ -f build_error ] && rm -f build_error
+[[ -f build_error ]] && rm -f build_error
list_supported_boards() {
for board in resources/u-boot/*; do
@@ -56,7 +55,7 @@ downloadfor() {
fi
# This is to override $ubrevision and $ubtree
- . "resources/u-boot/${board}/board.cfg" || touch build_error
+ source "resources/u-boot/${board}/board.cfg" || touch build_error
if [ -f build_error ]; then
printf "ERROR: %s: problem sourcing %s/board.cfg\n" \
"download/u-boot" "${board}"
@@ -240,10 +239,10 @@ if [ $# -eq 0 ] ; then
download_uboot_board "${board}"
done
exit 0
-elif [ $# -eq 1 ] && [ "$1" = "--help" ] ; then
+elif [ $# -eq 1 -a "$1" == "--help" ] ; then
usage
exit 0
-elif [ $# -eq 1 ] && [ "$1" = "--list-boards" ] ; then
+elif [ $# -eq 1 -a "$1" == "--list-boards" ] ; then
list_supported_boards
exit 0
elif [ $# -eq 1 ] ; then
diff --git a/resources/scripts/misc/versioncheck b/resources/scripts/misc/versioncheck
index 3118e297..e9eea929 100755
--- a/resources/scripts/misc/versioncheck
+++ b/resources/scripts/misc/versioncheck
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# Copyright (C) 2021 Leah Rowe <info@minifree.org>
#
diff --git a/resources/scripts/modify/coreboot/configs b/resources/scripts/modify/coreboot/configs
index 665ee091..89d253e3 100755
--- a/resources/scripts/modify/coreboot/configs
+++ b/resources/scripts/modify/coreboot/configs
@@ -1,9 +1,8 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: modify coreboot configs (run make menuconfig)
#
# Copyright (C) 2021, 2023 Leah Rowe <info@minifree.org>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -50,7 +49,7 @@ modifyconf() {
fi
cbtree=""
- . "resources/coreboot/${board}/board.cfg" # source
+ source "resources/coreboot/${board}/board.cfg" # source
if [ -z ${cbtree} ]; then
return 0
diff --git a/resources/scripts/modify/seabios/configs b/resources/scripts/modify/seabios/configs
index 614a4371..30423851 100755
--- a/resources/scripts/modify/seabios/configs
+++ b/resources/scripts/modify/seabios/configs
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: modify coreboot configs (run make menuconfig)
#
diff --git a/resources/scripts/modify/u-boot/configs b/resources/scripts/modify/u-boot/configs
index 9572a5b8..b44aae47 100755
--- a/resources/scripts/modify/u-boot/configs
+++ b/resources/scripts/modify/u-boot/configs
@@ -1,9 +1,8 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
# helper script: modify U-Boot configs (run make menuconfig)
#
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# Copyright (C) 2023 Leah Rowe <info@minifree.org>
#
# This program is free software: you can redistribute it and/or modify
@@ -51,7 +50,7 @@ modifyconf()
fi
ubtree="undefined"
- . "resources/u-boot/${board}/board.cfg" # source
+ source "resources/u-boot/${board}/board.cfg" # source
if [ "${ubtree}" = "undefined" ]; then
return 0
diff --git a/resources/scripts/update/coreboot/configs b/resources/scripts/update/coreboot/configs
index cd5299b3..6637a340 100755
--- a/resources/scripts/update/coreboot/configs
+++ b/resources/scripts/update/coreboot/configs
@@ -1,10 +1,9 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
#
# helper script: update coreboot configs (run make oldconfig)
#
# Copyright (C) 2021 Leah Rowe <info@minifree.org>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -55,7 +54,7 @@ updateconf()
if [ -f "${boarddir}/board.cfg" ]; then
cbtree="undefined"
- . "${boarddir}/board.cfg" # source
+ source "${boarddir}/board.cfg" # source
if [ "${cbtree}" = "undefined" ]; then
return 0
fi
diff --git a/resources/scripts/update/u-boot/configs b/resources/scripts/update/u-boot/configs
index b01ef0db..9b67eede 100755
--- a/resources/scripts/update/u-boot/configs
+++ b/resources/scripts/update/u-boot/configs
@@ -1,4 +1,4 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
#
# helper script: update U-Boot configs (run make oldconfig)
@@ -33,7 +33,7 @@ updateconf() {
board="$1"
if [ -f "resources/u-boot/${board}/board.cfg" ]; then
ubtree="undefined"
- . "resources/u-boot/${board}/board.cfg" # source
+ source "resources/u-boot/${board}/board.cfg" # source
if [ "${ubtree}" = "undefined" ]; then
return 0
fi