From 614aed4c1262b299b7f1c6833e01c3cad87b2246 Mon Sep 17 00:00:00 2001 From: Michel Fedde Date: Tue, 25 Feb 2025 11:21:20 +0100 Subject: [PATCH] Sets class before running any bootstrap --- .../00-SetClass.sh => _set_class.sh} | 0 .config/yadm/bootstrap | 18 +++++++++++++++--- .../bootstrap.d/{01-Update.sh => 00-Update.sh} | 0 .../{02-Dependencies.sh => 01-Dependencies.sh} | 0 4 files changed, 15 insertions(+), 3 deletions(-) rename .config/yadm/{bootstrap.d/00-SetClass.sh => _set_class.sh} (100%) rename .config/yadm/bootstrap.d/{01-Update.sh => 00-Update.sh} (100%) rename .config/yadm/bootstrap.d/{02-Dependencies.sh => 01-Dependencies.sh} (100%) diff --git a/.config/yadm/bootstrap.d/00-SetClass.sh b/.config/yadm/_set_class.sh similarity index 100% rename from .config/yadm/bootstrap.d/00-SetClass.sh rename to .config/yadm/_set_class.sh diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap index dd9f827..e7f44f9 100755 --- a/.config/yadm/bootstrap +++ b/.config/yadm/bootstrap @@ -40,17 +40,17 @@ display() { runfile() { local command="$1" - local prompt="Do you wish to run $command? [Yn] " + local prompt="Do you wish to run $command? [Ynq]" local display="Executing $command" - local promptLength=$((${#prompt} + 1)) + local promptLength=$((${#prompt})) local displayLength=${#display} local maxWidth=$((promptLength > displayLength ? promptLength : displayLength)) _header ${maxWidth} - read -p "| $prompt" -n 1 -r + read -p "| $prompt" -n 1 -r -s echo " |" if [[ $REPLY =~ ^[Nn]$ ]]; then @@ -58,6 +58,12 @@ runfile() { return fi + if [[ $REPLY =~ ^[Qq]$ ]]; then + _footer ${maxWidth} + display "Exiting..." + exit 0 + fi + echo -n "| $display" _repeat $((maxWidth - displayLength)) " " echo " |" @@ -72,9 +78,15 @@ runfile() { set -eu +SCRIPTPATH="$( + cd -- "$(dirname "$0")" >/dev/null 2>&1 + pwd -P +)" # Directory to look for bootstrap executables in BOOTSTRAP_D="${BASH_SOURCE[0]}.d" +$SCRIPTPATH/_set_class.sh + if [[ ! -d "$BOOTSTRAP_D" ]]; then echo "Error: bootstrap directory '$BOOTSTRAP_D' not found" >&2 exit 1 diff --git a/.config/yadm/bootstrap.d/01-Update.sh b/.config/yadm/bootstrap.d/00-Update.sh similarity index 100% rename from .config/yadm/bootstrap.d/01-Update.sh rename to .config/yadm/bootstrap.d/00-Update.sh diff --git a/.config/yadm/bootstrap.d/02-Dependencies.sh b/.config/yadm/bootstrap.d/01-Dependencies.sh similarity index 100% rename from .config/yadm/bootstrap.d/02-Dependencies.sh rename to .config/yadm/bootstrap.d/01-Dependencies.sh