From 2e38ddaa9bb0a8d9e0657cd5b20b796ff02a0abe Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 13 Jun 2023 12:09:01 +0100 Subject: 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. --- resources/scripts/build/boot/roms | 15 +++++++------- resources/scripts/build/boot/roms_helper | 26 +++++++++++++------------ resources/scripts/build/clean/cbutils | 6 +++--- resources/scripts/build/clean/crossgcc | 4 ++-- resources/scripts/build/clean/flashrom | 4 ++-- resources/scripts/build/clean/grub | 2 +- resources/scripts/build/clean/ich9utils | 2 +- resources/scripts/build/clean/memtest86plus | 2 +- resources/scripts/build/clean/payloads | 2 +- resources/scripts/build/clean/rom_images | 2 +- resources/scripts/build/clean/seabios | 2 +- resources/scripts/build/clean/u-boot | 2 +- resources/scripts/build/dependencies/arch | 2 +- resources/scripts/build/dependencies/debian | 2 +- resources/scripts/build/dependencies/fedora38 | 2 +- resources/scripts/build/dependencies/parabola | 2 +- resources/scripts/build/dependencies/ubuntu2004 | 2 +- resources/scripts/build/dependencies/void | 2 +- resources/scripts/build/descriptors/ich9m | 2 +- resources/scripts/build/module/cbutils | 6 +++--- resources/scripts/build/module/flashrom | 2 +- resources/scripts/build/module/grub | 2 +- resources/scripts/build/module/ich9utils | 2 +- resources/scripts/build/module/memtest86plus | 2 +- resources/scripts/build/payload/grub | 4 ++-- resources/scripts/build/payload/seabios | 7 +++++-- resources/scripts/build/payload/u-boot | 10 ++++++++-- resources/scripts/build/release/roms | 2 +- resources/scripts/build/release/src | 2 +- 29 files changed, 67 insertions(+), 55 deletions(-) (limited to 'resources/scripts/build') 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 @@ # # Copyright (C) 2015 Klemens Nanni # Copyright (C) 2022 Caleb La Grange +# Copyright (C) 2022 Ferass El Hafidi # # 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 -# Copyright (C) 2021 Ferass El Hafidi +# Copyright (C) 2021,2022 Ferass El Hafidi +# # Copyright (C) 2022 Caleb La Grange # Copyright (C) 2022 Alper Nebi Yasak # @@ -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 -# Copyright (C) 2015 Klemens Nanni +# Copyright (C) 2015 Klemens Nanni # # 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 -# Copyright (C) 2015 Klemens Nanni +# Copyright (C) 2015 Klemens Nanni # # 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 -# Copyright (C) 2015 Klemens Nanni +# Copyright (C) 2015 Klemens Nanni # # 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 # 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 +# Copyright (C) 2022 Ferass El Hafidi # # 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 +# Copyright (C) 2022 Ferass El Hafidi # Copyright (C) 2023 Leah Rowe # # 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) # -- cgit v1.2.1