Do not rely on bashisms and behaviour undefined by the POSIX specification. Part 2

Signed-off-by: Ferass 'Vitali64' EL HAFIDI <vitali64pmemail@protonmail.com>
fsdg20230625
Ferass 'Vitali64' EL HAFIDI 2022-12-28 19:29:18 +01:00 committed by Leah Rowe
parent f787044642
commit 7f5dfebf7d
14 changed files with 42 additions and 37 deletions

View File

@ -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-License-Identifier: GPL-3.0-only
board="${1}"
@ -16,10 +17,10 @@ Download_needed(){
for need in ${needs}; do
case ${need} in
*ME*)
Extract_me || _failed+=" me"
Extract_me || _failed="${_failed} me"
;;
*MRC*)
./download mrc || _failed+=" mrc"
./download mrc || _failed="${_failed} mrc"
;;
esac
done
@ -96,23 +97,23 @@ set -- "resources/coreboot/${board}/config/*"
if [ "${CONFIG_HAVE_MRC}" = "y" ]; then
printf 'haswell board detected, downloading mrc\n'
needs+=" MRC"
needs="${needs} MRC"
fi
if [ "${CONFIG_HAVE_IFD_BIN}" = "y" ]; then
printf 'board needs intel firmware descriptor\n'
needs+=" IFD"
needs="${needs} IFD"
fi
if [ "${CONFIG_HAVE_ME_BIN}" = "y" ]; then
printf 'board needs intel management engine\n'
needs+=" ME"
needs="${needs} ME"
fi
if [ "${CONFIG_HAVE_GBE_BIN}" = "y" ]; then
printf 'board needs gigabit ethernet firmware\n'
needs+=" GBE"
needs="${needs} GBE"
fi
# Quickly exit without wasting more time if there are no blobs needed (GM45)
@ -138,8 +139,7 @@ while read -r line ; do
me_dl_bkup=${2}
;;
esac
done <<< $(eval "awk ' /\{.*${board_short}.*}{/ {flag=1;next} /\}/{flag=0} flag { print }' resources/blobs/sources")
done << EOF
$(eval "awk ' /\{.*${board_short}.*}{/ {flag=1;next} /\}/{flag=0} flag { print }' resources/blobs/sources")
EOF
Download_needed

View File

@ -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>

View File

@ -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-License-Identifier: GPL-3.0-only
Fail(){
@ -53,10 +54,10 @@ Detect_board(){
filename=$(basename ${rom})
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)
;;
*)
return 1

View File

@ -1,9 +1,10 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# helper script: download coreboot
#
# Copyright (C) 2014, 2015, 2016, 2020, 2021 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
@ -52,17 +53,17 @@ usage()
# In this script, set -u is used to check for undefined variables, and
# the test command doesn't do any lazy evaluation, so we can't use
# a syntax like that: [ $# -eq 1 -a "$1" == "--help" ].
# a syntax like that: [ $# -eq 1 -a "$1" = "--help" ].
if [ $# -eq 1 ] && [ "$1" == "--help" ] ; then
if [ $# -eq 1 ] && [ "$1" = "--help" ] ; then
usage
exit 0
elif [ $# -eq 1 ] && [ "$1" == "--list-boards" ] ; then
elif [ $# -eq 1 ] && [ "$1" = "--list-boards" ] ; then
list_supported_boards
exit 0
fi
[[ -f build_error ]] && rm -f build_error
[ -f build_error ] && rm -f build_error
rm -f resources/coreboot/*/seen
@ -90,7 +91,7 @@ downloadfor() {
fi
# This is to override $cbrevision and $cbtree
source "resources/coreboot/${board}/board.cfg" || touch ../build_error
. "resources/coreboot/${board}/board.cfg" || touch ../build_error
if [ -f build_error ]; then
printf "ERROR: download/coreboot: problem sourcing %s/board.cfg\n" "${board}"
return 1

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# helper script: downloads flashrom and patches it
#

View File

@ -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-License-Identifier: GPL-3.0-only
Print_help(){
@ -72,8 +73,9 @@ while read -r line ; do
bkup_url=${2}
;;
esac
done <<< $(eval "awk ' /\{.*${name}.*}{/ {flag=1;next} /\}/{flag=0} flag { print }' resources/git/revisions")
done << EOF
$(eval "awk ' /\{.*${name}.*}{/ {flag=1;next} /\}/{flag=0} flag { print }' resources/git/revisions")
EOF
Check_vars
tmp_dir=$(mktemp -dt "${name}_XXXXX")

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# helper script: Downloads GRUB and patches it.
#

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# helper script: downloads ich9utils
#

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
#
# Copyright (C) 2020 Leah Rowe <info@minifree.org>
#

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# helper script: Downloads MemTest86+ and patches it
#

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env sh
# Download Intel MRC images
#

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
#
# Copyright (C) 2015, 2016, 2021 Leah Rowe <info@minifree.org>
#

View File

@ -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

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# Copyright (C) 2021 Leah Rowe <info@minifree.org>
#