summaryrefslogtreecommitdiff
path: root/resources/scripts/build
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-06-13 12:09:01 +0100
committerLeah Rowe <leah@libreboot.org>2023-06-13 12:09:01 +0100
commit2e38ddaa9bb0a8d9e0657cd5b20b796ff02a0abe (patch)
tree39877daa06996bb6eb44d0b3bf7e8c9e0c52427d /resources/scripts/build
parent81bf2293df0fc93513a5c6ae9f4028a877c6f7d9 (diff)
Revert "Remove most of Ferass's lbmk contributions"
This reverts commit a4ea2867319471d9fe7d4ee540881e0286b4d3cf. The licensing audit has been abandoned. I will not be re-licensing in bulk to MIT. I can still use MIT license on new works, e.g. utilities, but there's really no pressing need to re-license lbmk. It's just shell scripts, and most of what it interacts with (coreboot, grub, seabios) is GPL anyway. So who cares? Ferass's patch was removed due to refusal to re-license, but the decision to re-license has been canceled. I'm now aiming for a quick stable release.
Diffstat (limited to 'resources/scripts/build')
-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
29 files changed, 67 insertions, 55 deletions
diff --git a/resources/scripts/build/boot/roms b/resources/scripts/build/boot/roms
index 07f92a83..f0398273 100755
--- a/resources/scripts/build/boot/roms
+++ b/resources/scripts/build/boot/roms
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
#
# helper script: build coreboot images with various payloads
@@ -7,6 +7,7 @@
# <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
@@ -30,7 +31,7 @@ set -u -e
projectname="$(cat projectname)"
opts=""
-boards=""
+boards=
firstoption="${1}"
main()
@@ -49,19 +50,19 @@ main()
exit 0
fi
- while [[ $# > 0 ]]; do
+ while [ $# -gt 0 ]; do
case ${1} in
-d)
- opts+=" -d ${2}"
+ opts="${opts} -d ${2}"
shift ;;
-p)
- opts+=" -p ${2}"
+ opts="${opts} -p ${2}"
shift ;;
-k)
- opts+=" -k ${2}"
+ opts="${opts} -k ${2}"
shift ;;
*)
- boards+=" ${1} " ;;
+ boards="${boards} ${1} " ;;
esac
shift
done
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index c5cb5df4..02d8f61f 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -1,9 +1,10 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: create ROM images for a given mainboard
#
# Copyright (C) 2020,2021,2023 Leah Rowe <info@minifree.org>
-# Copyright (C) 2021 Ferass El Hafidi <vitali64pmemail@protonmail.com>
+# Copyright (C) 2021,2022 Ferass El Hafidi
+# <vitali64pmemail@protonmail.com>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
#
@@ -63,16 +64,16 @@ CROSS_COMPILE=""
main()
{
- while [[ $# > 0 ]]; do
+ while [ $# -gt 0 ]; do
case ${1} in
-d)
- displaymodes+="${2}"
+ displaymodes="${displaymodes}${2}"
shift ;;
-p)
- payloads+="${2}"
+ payloads="${payloads}${2}"
shift ;;
-k)
- keyboard_layouts+="${2}"
+ keyboard_layouts="${keyboard_layouts}${2}"
shift ;;
*)
board=${1} ;;
@@ -107,7 +108,7 @@ load_config()
exit 1
fi
- source "${boardcfgdir}/board.cfg"
+ . "${boardcfgdir}/board.cfg"
if [ "${board}" != "${cbtree}" ]; then
cbdir="coreboot/${cbtree}"
@@ -554,11 +555,11 @@ mkRomsWithGrub()
keymaps=""
if [ -z ${keyboard_layouts} ]; then
for kmapfile in "${kmapdir}"/*; do
- keymaps+=" ${kmapfile}"
+ keymaps="${keymaps} ${kmapfile}"
done
else
for keymapname in ${keyboard_layouts}; do
- keymaps+=" ${kmapdir}/${keymapname}.gkb"
+ keymaps="${keymaps} ${kmapdir}/${keymapname}.gkb"
done
fi
for keymapfile in ${keymaps}; do
@@ -694,10 +695,11 @@ 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 2aff915f..0c0df0d3 100755
--- a/resources/scripts/build/clean/cbutils
+++ b/resources/scripts/build/clean/cbutils
@@ -1,9 +1,9 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# 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 {cbfs,ifd,nvram}tool cbmem; do
+ for util in cbfstool ifdtool nvramtool 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 7dcbf4a4..6c09c878 100755
--- a/resources/scripts/build/clean/crossgcc
+++ b/resources/scripts/build/clean/crossgcc
@@ -1,9 +1,9 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# 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 516a8d87..744052fc 100755
--- a/resources/scripts/build/clean/flashrom
+++ b/resources/scripts/build/clean/flashrom
@@ -1,9 +1,9 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# 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 4330dfca..dea2c2dd 100755
--- a/resources/scripts/build/clean/grub
+++ b/resources/scripts/build/clean/grub
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# 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 35b9dc4b..38ad439f 100755
--- a/resources/scripts/build/clean/ich9utils
+++ b/resources/scripts/build/clean/ich9utils
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: clean the previous build of ich9utils
#
diff --git a/resources/scripts/build/clean/memtest86plus b/resources/scripts/build/clean/memtest86plus
index e4d7b200..807b20a7 100755
--- a/resources/scripts/build/clean/memtest86plus
+++ b/resources/scripts/build/clean/memtest86plus
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# 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 f4dab88a..4d77b9ea 100755
--- a/resources/scripts/build/clean/payloads
+++ b/resources/scripts/build/clean/payloads
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: nothing to see here, forks!
#
diff --git a/resources/scripts/build/clean/rom_images b/resources/scripts/build/clean/rom_images
index cac69226..cd41d499 100755
--- a/resources/scripts/build/clean/rom_images
+++ b/resources/scripts/build/clean/rom_images
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: delete the ROM images
#
diff --git a/resources/scripts/build/clean/seabios b/resources/scripts/build/clean/seabios
index 6362a311..0757db9d 100755
--- a/resources/scripts/build/clean/seabios
+++ b/resources/scripts/build/clean/seabios
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# 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 5d9a324a..6a59a5c1 100755
--- a/resources/scripts/build/clean/u-boot
+++ b/resources/scripts/build/clean/u-boot
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: clean the u-boot builds
#
diff --git a/resources/scripts/build/dependencies/arch b/resources/scripts/build/dependencies/arch
index 91210191..c20a1faf 100644
--- a/resources/scripts/build/dependencies/arch
+++ b/resources/scripts/build/dependencies/arch
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# arch script: installs build dependencies for Arch Linux
#
diff --git a/resources/scripts/build/dependencies/debian b/resources/scripts/build/dependencies/debian
index 789ee749..fb0ae248 100755
--- a/resources/scripts/build/dependencies/debian
+++ b/resources/scripts/build/dependencies/debian
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# ubuntu2004 script: installs build dependencies for Ubuntu 20.04
#
diff --git a/resources/scripts/build/dependencies/fedora38 b/resources/scripts/build/dependencies/fedora38
index 396300e8..2389b806 100755
--- a/resources/scripts/build/dependencies/fedora38
+++ b/resources/scripts/build/dependencies/fedora38
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# Fedora script: installs build dependencies for Fedora
#
diff --git a/resources/scripts/build/dependencies/parabola b/resources/scripts/build/dependencies/parabola
index c841c7c2..da284bed 100755
--- a/resources/scripts/build/dependencies/parabola
+++ b/resources/scripts/build/dependencies/parabola
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# 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 dda88fde..14a1d8c2 100755
--- a/resources/scripts/build/dependencies/ubuntu2004
+++ b/resources/scripts/build/dependencies/ubuntu2004
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# ubuntu2004 script: installs build dependencies for Ubuntu 20.04
#
diff --git a/resources/scripts/build/dependencies/void b/resources/scripts/build/dependencies/void
index bbd00a15..e46cd5ee 100755
--- a/resources/scripts/build/dependencies/void
+++ b/resources/scripts/build/dependencies/void
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# void script: installs build dependencies for Void Linux
#
diff --git a/resources/scripts/build/descriptors/ich9m b/resources/scripts/build/descriptors/ich9m
index 35cc9570..b9a077d9 100755
--- a/resources/scripts/build/descriptors/ich9m
+++ b/resources/scripts/build/descriptors/ich9m
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# Copyright (C) 2020, 2023 Leah Rowe <info@minifree.org>
#
diff --git a/resources/scripts/build/module/cbutils b/resources/scripts/build/module/cbutils
index 526467bd..b362ee7a 100755
--- a/resources/scripts/build/module/cbutils
+++ b/resources/scripts/build/module/cbutils
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: build various coreboot utilities
#
@@ -44,7 +44,7 @@ build_for_mainboard() {
[ ! -f "resources/coreboot/${board}/board.cfg" ] && \
continue
cbtree="undefined"
- source "resources/coreboot/${board}/board.cfg" # 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 {cbfs,ifd}tool; do
+ for util in cbfstool ifdtool; 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 c1641d94..37f57ce0 100755
--- a/resources/scripts/build/module/flashrom
+++ b/resources/scripts/build/module/flashrom
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: builds flashrom source code
#
diff --git a/resources/scripts/build/module/grub b/resources/scripts/build/module/grub
index 4d2009ed..5cf58a67 100755
--- a/resources/scripts/build/module/grub
+++ b/resources/scripts/build/module/grub
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: builds GRUB2 source code
#
diff --git a/resources/scripts/build/module/ich9utils b/resources/scripts/build/module/ich9utils
index 5a9fbe4b..5473a513 100755
--- a/resources/scripts/build/module/ich9utils
+++ b/resources/scripts/build/module/ich9utils
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: build ich9utils
#
diff --git a/resources/scripts/build/module/memtest86plus b/resources/scripts/build/module/memtest86plus
index f57b7c57..7fc46be9 100755
--- a/resources/scripts/build/module/memtest86plus
+++ b/resources/scripts/build/module/memtest86plus
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: builds memtest86+ source code
#
diff --git a/resources/scripts/build/payload/grub b/resources/scripts/build/payload/grub
index 7569fd86..23765f47 100755
--- a/resources/scripts/build/payload/grub
+++ b/resources/scripts/build/payload/grub
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# generate GRUB ELF files (coreboot payload) and configuration files
#
@@ -24,7 +24,7 @@ set -u -e
grubcfgsdir="resources/grub"
keymap=""
-source "${grubcfgsdir}/modules.list"
+. "${grubcfgsdir}/modules.list"
main()
{
diff --git a/resources/scripts/build/payload/seabios b/resources/scripts/build/payload/seabios
index ed31e3bb..f822a019 100755
--- a/resources/scripts/build/payload/seabios
+++ b/resources/scripts/build/payload/seabios
@@ -1,8 +1,9 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# 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
@@ -36,7 +37,9 @@ main()
done
# clean it again. gotta keep it clean!
- [[ -f Makefile ]] && make -C seabios distclean
+ if [ -f seabios/Makefile ]; then
+ make distclean -BC seabios || exit 1
+ fi
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 bc1cf997..bff41400 100755
--- a/resources/scripts/build/payload/u-boot
+++ b/resources/scripts/build/payload/u-boot
@@ -3,6 +3,7 @@
# 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
@@ -96,7 +97,7 @@ handle_dependencies()
fi
# Override the above defaults using board.cfg
- source "${board_dir}/board.cfg" # source
+ . "${board_dir}/board.cfg" # source
if [ "${ubtree}" = "undefined" ]; then
printf "build/u-boot %s: ubtree undefined\n" \
@@ -161,7 +162,12 @@ build_uboot_elf()
make -C "${ubdir}" olddefconfig
make -C "${ubdir}" -j"$(nproc)" all
- for f in "${ubdir}"/u-boot{,.bin,.dtb,.img,.itb,.elf}; do
+ 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
if [ -f "$f" ]; then
mv "$f" "${dest_dir}/"
fi
diff --git a/resources/scripts/build/release/roms b/resources/scripts/build/release/roms
index 4a66ffa3..33200cc4 100755
--- a/resources/scripts/build/release/roms
+++ b/resources/scripts/build/release/roms
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: generate release archive (ROM images)
#
diff --git a/resources/scripts/build/release/src b/resources/scripts/build/release/src
index 4c5e3bb0..09a9810e 100755
--- a/resources/scripts/build/release/src
+++ b/resources/scripts/build/release/src
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
# helper script: generate release archive (source code)
#