From f3a1b43360b251ecc4380cb27afef6301a0e1812 Mon Sep 17 00:00:00 2001 From: Ian Kaufman Date: Wed, 30 Oct 2024 14:15:40 -0700 Subject: [PATCH] POSIX fixes for #1464 Signed-off-by: Jonathon Anderson --- CHANGELOG.md | 1 + CONTRIBUTORS.md | 1 + overlays/wwinit/rootfs/init | 4 ++-- overlays/wwinit/rootfs/warewulf/wwinit | 18 ++++++++++++----- scripts/build-ipxe.sh | 28 +++++++++++++++++--------- 5 files changed, 35 insertions(+), 17 deletions(-) mode change 100644 => 100755 overlays/wwinit/rootfs/warewulf/wwinit diff --git a/CHANGELOG.md b/CHANGELOG.md index bb917e30..4115def4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Replace `defaults.conf` with settings on the default profile. #917 - Switched from yaml.v2 to yaml.v3 #1462 - Make OCIBlobCache a seperate path and point it to `/var/cache` #1459 +- Updated various shell scripts for POSIX compatibility. #1464 ### Removed diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 82ab5b09..132aef12 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -42,3 +42,4 @@ * Brandon Biggs * Howard Van Der Wal [@metalllinux](https://github.com/metalllinux) * Nicholas Porter +* Ian Kaufman [iankgt40](https://github.com/iankgt40) diff --git a/overlays/wwinit/rootfs/init b/overlays/wwinit/rootfs/init index 123a3617..42d07a4d 100755 --- a/overlays/wwinit/rootfs/init +++ b/overlays/wwinit/rootfs/init @@ -28,10 +28,10 @@ echo chmod 755 /warewulf/wwinit -if [ -z "${WWROOT}" -o "${WWROOT}" == "initramfs" ]; then +if [ -z "${WWROOT}" -o "${WWROOT}" = "initramfs" ]; then echo "Retaining initramfs and invoking /warewulf/wwinit..." exec /warewulf/wwinit -elif [ "${WWROOT}" == "ramfs" -o "${WWROOT}" == "tmpfs" ]; then +elif [ "${WWROOT}" = "ramfs" -o "${WWROOT}" = "tmpfs" ]; then echo "Setting up new ${WWROOT} rootfs..." mkdir /newroot mount wwroot /newroot -t ${WWROOT} -o mpol=interleave # mpol ignored for ramfs diff --git a/overlays/wwinit/rootfs/warewulf/wwinit b/overlays/wwinit/rootfs/warewulf/wwinit old mode 100644 new mode 100755 index dfdb2725..4f875b92 --- a/overlays/wwinit/rootfs/warewulf/wwinit +++ b/overlays/wwinit/rootfs/warewulf/wwinit @@ -4,14 +4,22 @@ echo "Hello from WWINIT" . /warewulf/config -for i in /warewulf/init.d/*; do - NAME=`basename $i` - echo "Launching: $NAME" - sh "$i" -done +myPATH=/warewulf/init.d +while read -r NAME; do +# if [ -x $myPATH/$NAME ] +# then + echo "Launching: $NAME" + sh "$myPATH/$NAME" + +# fi +done </dev/null 2>&1 @@ -57,13 +60,17 @@ function main { destname=$(echo $target | tr / -) make -j $CPUS CROSS="${CROSS}" $target "$@" && cp -v $target ${DESTDIR}/${destname} restore_config - done + +done <> /root/args sed -i.bak \ -e 's,//\(#define.*CONSOLE_FRAMEBUFFER.*\),\1,' \ config/console.h @@ -76,7 +83,8 @@ function configure_arm64 { } -function configure_x86_64 { +configure_x86_64() { + ls -l config >> /root/args sed -i.bak \ -e 's,//\(#define.*CONSOLE_SERIAL.*\),\1,' \ -e 's,//\(#define.*CONSOLE_FRAMEBUFFER.*\),\1,' \ @@ -90,9 +98,9 @@ function configure_x86_64 { } -function restore_config { - cp config/console.h{.bak,} - cp config/general.h{.bak,} +restore_config() { + cp config/console.h.bak config/console.h + cp config/general.h.bak config/general.h }