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

By making lbmk fully POSIX-compliant, it will be easier to port lbmk to
other systems implementing POSIX such as Alpine Linux and FreeBSD.

Signed-off-by: Ferass 'Vitali64' EL HAFIDI <vitali64pmemail@protonmail.com>
This commit is contained in:
Ferass 'Vitali64' EL HAFIDI
2022-12-16 19:45:54 +01:00
committed by Leah Rowe
parent d45b2e70dc
commit f787044642
41 changed files with 97 additions and 81 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# generate GRUB ELF files (coreboot payload) and configuration files
#
@@ -22,7 +22,7 @@
set -u -e
# This is where GRUB is expected to be (outside of the grub-assemble, instead in main checkout)
source "resources/grub/modules.list"
. "resources/grub/modules.list" # source
printf "Creating GRUB payloads and configuration files\n"
+5 -4
View File
@@ -1,8 +1,9 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# helper script: builds SeaBIOS source code
#
# Copyright (C) 2020, 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
@@ -38,7 +39,7 @@ fi
cd seabios/
# for libgfxinit setup:
[[ -f Makefile ]] && make distclean
[ -f Makefile ] && make distclean
cp ../resources/seabios/config/libgfxinit .config
make silentoldconfig -j$(nproc)
make -j$(nproc)
@@ -47,7 +48,7 @@ mv out/vgabios.bin ../payload/seabios/seavgabios.bin
rm .config
# for vgarom setup:
[[ -f Makefile ]] && make distclean
[ -f Makefile ] && make distclean
cp ../resources/seabios/config/vgarom .config
make silentoldconfig -j$(nproc)
make -j$(nproc)
@@ -55,7 +56,7 @@ mv out/bios.bin.elf ../payload/seabios/seabios_vgarom.elf
rm .config
# clean it again. gotta keep it clean!
[[ -f Makefile ]] && make distclean
[ -f Makefile ] && make distclean
printf "Done! SeaBIOS files are in payload/seabios/\n\n"
+5 -4
View File
@@ -1,9 +1,9 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
# helper script: builds U-Boot source code
#
# Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2021 Vitali64 <vitali64pmemail@protonmail.com>
# Copyright (C) 2021, 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
#
# This program is free software: you can redistribute it and/or modify
@@ -63,7 +63,7 @@ for board in "$@"; do
fi
# Override the above defaults using board.cfg
source "${board_dir}/board.cfg"
. "${board_dir}/board.cfg" # source
if [ "${ubtree}" = "undefined" ]; then
printf "%s: Target %s does not define a U-Boot tree. Skipping build.\n" \
@@ -119,7 +119,8 @@ for board in "$@"; do
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