diff options
47 files changed, 127 insertions, 100 deletions
@@ -7,6 +7,7 @@ # https://libreboot.org/docs/build/ # # 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 @@ -22,11 +23,13 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # -.PHONY: all check download modules ich9m-descriptors payloads roms release \ - clean crossgcc-clean install-dependencies-ubuntu \ - install-dependencies-debian install-dependencies-arch \ - install-dependencies-void install-dependencies-fedora38 \ - install-dependencies-parabola +.POSIX: + +#.PHONY: all check download modules ich9m-descriptors payloads roms release \ +# clean crossgcc-clean install-dependencies-ubuntu \ +# install-dependencies-debian install-dependencies-arch \ +# install-dependencies-void install-dependencies-fedora38 \ +# install-dependencies-parabola all: roms @@ -1,6 +1,7 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com> +# SPDX-FileCopyrightText: 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com> # SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org> # SPDX-License-Identifier: GPL-3.0-only @@ -47,7 +48,9 @@ read_config() bkup_url=${2} ;; esac - done <<< $(eval "awk '${awkstr}' resources/git/revisions") + done << EOF + $(eval "awk '${awkstr}' resources/git/revisions") +EOF } verify_config() 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) # diff --git a/resources/scripts/misc/versioncheck b/resources/scripts/misc/versioncheck index e9eea929..3118e297 100755 --- a/resources/scripts/misc/versioncheck +++ b/resources/scripts/misc/versioncheck @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # Copyright (C) 2021 Leah Rowe <info@minifree.org> # diff --git a/resources/scripts/modify/coreboot/configs b/resources/scripts/modify/coreboot/configs index 89d253e3..665ee091 100755 --- a/resources/scripts/modify/coreboot/configs +++ b/resources/scripts/modify/coreboot/configs @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # 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 @@ -49,7 +50,7 @@ modifyconf() { fi cbtree="" - source "resources/coreboot/${board}/board.cfg" # 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 30423851..614a4371 100755 --- a/resources/scripts/modify/seabios/configs +++ b/resources/scripts/modify/seabios/configs @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # 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 b44aae47..9572a5b8 100755 --- a/resources/scripts/modify/u-boot/configs +++ b/resources/scripts/modify/u-boot/configs @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # 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 @@ -50,7 +51,7 @@ modifyconf() fi ubtree="undefined" - source "resources/u-boot/${board}/board.cfg" # source + . "resources/u-boot/${board}/board.cfg" # source if [ "${ubtree}" = "undefined" ]; then return 0 diff --git a/resources/scripts/update/blobs/download b/resources/scripts/update/blobs/download index 57bdfe62..7c775ea5 100755 --- a/resources/scripts/update/blobs/download +++ b/resources/scripts/update/blobs/download @@ -1,6 +1,7 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # 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 @@ -63,23 +64,23 @@ detect_firmware() . "${boarddir}/board.cfg" if [ "${CONFIG_HAVE_MRC}" = "y" ]; then - needs+=" MRC" + needs="${needs} MRC" fi if [ "${CONFIG_HAVE_IFD_BIN}" = "y" ]; then - needs+=" IFD" + needs="${needs} IFD" fi if [ "${CONFIG_HAVE_ME_BIN}" = "y" ]; then - needs+=" ME" + needs="${needs} ME" fi if [ "${CONFIG_HAVE_GBE_BIN}" = "y" ]; then - needs+=" GBE" + needs="${needs} GBE" fi if [ "${CONFIG_KBC1126_FIRMWARE}" = "y" ]; then - needs+=" EC" + needs="${needs} EC" fi if [ "${CONFIG_BOARD_DELL_E6400}" = "y" ] \ && [ "${CONFIG_VGA_BIOS_FILE}" != "" ]; then - needs+=" E6400VGA" + needs="${needs} E6400VGA" fi if [ -z ${needs+x} ]; then printf 'No binary blobs needed for this board\n' @@ -142,7 +143,9 @@ scan_sources_config() e6400_vga_romname=${2} ;; esac - done <<< $(eval "awk '${awkstr}' resources/blobs/sources") + done << EOF + $(eval "awk '${awkstr}' resources/blobs/sources") +EOF } build_dependencies() @@ -178,16 +181,16 @@ download_blobs() for need in ${needs}; do case ${need} in *ME*) - download_blob_intel_me || _failed+=" me" + download_blob_intel_me || _failed="${_failed} me" ;; *EC*) - download_ec || _failed+=" ec" + download_ec || _failed="${_failed} ec" ;; *E6400VGA*) - download_e6400vga || _failed+=" e6400vga" + download_e6400vga || _failed="${_failed} e6400vga" ;; *MRC*) - ./download mrc || _failed+=" mrc" + ./download mrc || _failed="${_failed} mrc" ;; esac done diff --git a/resources/scripts/update/blobs/extract b/resources/scripts/update/blobs/extract index 8e9c74ed..b32ec0ea 100755 --- a/resources/scripts/update/blobs/extract +++ b/resources/scripts/update/blobs/extract @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # script to automate extracting blobs from an existing vendor bios # SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com> diff --git a/resources/scripts/update/blobs/inject b/resources/scripts/update/blobs/inject index 51f67255..ca8aae4c 100755 --- a/resources/scripts/update/blobs/inject +++ b/resources/scripts/update/blobs/inject @@ -1,6 +1,7 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # 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 @@ -111,10 +112,10 @@ detect_board() filename=$(basename ${path}) case ${filename} in grub_*) - board=$(cut -d '_' -f2-3 <<<${filename}) + board=$(echo "${filename}" | cut -d '_' -f2-3) ;; seabios_withgrub_*) - board=$(cut -d '_' -f3-4 <<<${filename}) + board=$(echo "${filename}" | cut -d '_' -f3-4) ;; *.tar.xz) _stripped_prefix=${filename#*_} diff --git a/resources/scripts/update/coreboot/configs b/resources/scripts/update/coreboot/configs index 6637a340..cd5299b3 100755 --- a/resources/scripts/update/coreboot/configs +++ b/resources/scripts/update/coreboot/configs @@ -1,9 +1,10 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # # 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 @@ -54,7 +55,7 @@ updateconf() if [ -f "${boarddir}/board.cfg" ]; then cbtree="undefined" - source "${boarddir}/board.cfg" # source + . "${boarddir}/board.cfg" # source if [ "${cbtree}" = "undefined" ]; then return 0 fi diff --git a/resources/scripts/update/module/coreboot b/resources/scripts/update/module/coreboot index 75b61a6f..2e78636b 100755 --- a/resources/scripts/update/module/coreboot +++ b/resources/scripts/update/module/coreboot @@ -1,9 +1,10 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # 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 @@ -86,7 +87,7 @@ fetch_coreboot_config() check_config_for_board "${_board}" || return 1 # This is to override $cbrevision and $cbtree - source "${cbcfgsdir}/${_board}/board.cfg" || exit 1 + . "${cbcfgsdir}/${_board}/board.cfg" || exit 1 if [ "${_board}" != "${cbtree}" ]; then _board="${cbtree}" diff --git a/resources/scripts/update/module/flashrom b/resources/scripts/update/module/flashrom index 6aa3cab4..def33ffb 100755 --- a/resources/scripts/update/module/flashrom +++ b/resources/scripts/update/module/flashrom @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: downloads flashrom and patches it # diff --git a/resources/scripts/update/module/grub b/resources/scripts/update/module/grub index 0620a775..ff1ce55c 100755 --- a/resources/scripts/update/module/grub +++ b/resources/scripts/update/module/grub @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: Downloads GRUB and patches it. # diff --git a/resources/scripts/update/module/me_cleaner b/resources/scripts/update/module/me_cleaner index 7dd52be7..93173257 100755 --- a/resources/scripts/update/module/me_cleaner +++ b/resources/scripts/update/module/me_cleaner @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # # Copyright (C) 2020 Leah Rowe <info@minifree.org> # diff --git a/resources/scripts/update/module/memtest86plus b/resources/scripts/update/module/memtest86plus index bceadbd9..e4106f38 100755 --- a/resources/scripts/update/module/memtest86plus +++ b/resources/scripts/update/module/memtest86plus @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # helper script: Downloads MemTest86+ and patches it # diff --git a/resources/scripts/update/module/seabios b/resources/scripts/update/module/seabios index fd72de65..666c32ae 100755 --- a/resources/scripts/update/module/seabios +++ b/resources/scripts/update/module/seabios @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # # Copyright (C) 2015, 2016, 2021 Leah Rowe <info@minifree.org> # diff --git a/resources/scripts/update/module/u-boot b/resources/scripts/update/module/u-boot index 1af513a4..161608c9 100755 --- a/resources/scripts/update/module/u-boot +++ b/resources/scripts/update/module/u-boot @@ -1,9 +1,10 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # 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 @@ -22,7 +23,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 @@ -55,7 +56,7 @@ downloadfor() { fi # This is to override $ubrevision and $ubtree - source "resources/u-boot/${board}/board.cfg" || touch build_error + . "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}" @@ -239,10 +240,10 @@ if [ $# -eq 0 ] ; then download_uboot_board "${board}" done exit 0 -elif [ $# -eq 1 -a "$1" == "--help" ] ; then +elif [ $# -eq 1 ] && [ "$1" = "--help" ] ; then usage exit 0 -elif [ $# -eq 1 -a "$1" == "--list-boards" ] ; then +elif [ $# -eq 1 ] && [ "$1" = "--list-boards" ] ; then list_supported_boards exit 0 elif [ $# -eq 1 ] ; then diff --git a/resources/scripts/update/u-boot/configs b/resources/scripts/update/u-boot/configs index 9b67eede..b01ef0db 100755 --- a/resources/scripts/update/u-boot/configs +++ b/resources/scripts/update/u-boot/configs @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # # 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" - source "resources/u-boot/${board}/board.cfg" # source + . "resources/u-boot/${board}/board.cfg" # source if [ "${ubtree}" = "undefined" ]; then return 0 fi |