diff --git a/start.sh b/start.sh index 0b23259..322d2d8 100755 --- a/start.sh +++ b/start.sh @@ -1,17 +1,52 @@ #!/usr/bin/env bash -set -euo pipefail -IFS=$'\n\t' -# Root-Verzeichnis -ROOT_DIR="$(cd "$(dirname "$0")" && pwd)" -SCRIPTS_DIR="$ROOT_DIR/scripts" -IMAGE_BUILDER="$SCRIPTS_DIR/image-builder.sh" +set -e -# Prüfen ob das Skript existiert -if [[ ! -f "$IMAGE_BUILDER" ]]; then - echo "[ERROR] $IMAGE_BUILDER nicht gefunden!" - exit 1 +# Liste der benötigten Pakete +REQUIRED_CMDS=("jq" "whiptail" "dialog" "sudo") + +# Funktion: prüfen ob Kommando existiert +check_command() { + command -v "$1" >/dev/null 2>&1 +} + +# Fehlende Pakete sammeln +MISSING_PKGS=() +for cmd in "${REQUIRED_CMDS[@]}"; do + if ! check_command "$cmd"; then + MISSING_PKGS+=("$cmd") + fi +done + +# Wenn etwas fehlt, Installation vorschlagen +if [ ${#MISSING_PKGS[@]} -ne 0 ]; then + echo "❌ Folgende Pakete fehlen: ${MISSING_PKGS[*]}" + + if whiptail --title "Fehlende Pakete" \ + --yesno "Die folgenden Pakete fehlen:\n\n${MISSING_PKGS[*]}\n\nSollen diese jetzt installiert werden?" 15 60; then + + # Paketmanager erkennen + if command -v apt-get >/dev/null 2>&1; then + sudo apt-get update + sudo apt-get install -y "${MISSING_PKGS[@]}" + elif command -v yum >/dev/null 2>&1; then + sudo yum install -y "${MISSING_PKGS[@]}" + elif command -v dnf >/dev/null 2>&1; then + sudo dnf install -y "${MISSING_PKGS[@]}" + elif command -v zypper >/dev/null 2>&1; then + sudo zypper install -y "${MISSING_PKGS[@]}" + else + echo "Kein unterstützter Paketmanager gefunden! Bitte installiere die Pakete manuell: ${MISSING_PKGS[*]}" + exit 1 + fi + else + echo "Installation abgebrochen. Beende." + exit 1 + fi +else + echo "✅ Alle Voraussetzungen sind erfüllt." fi -# Script starten -"$IMAGE_BUILDER" +# Am Ende das eigentliche Script starten +echo "🚀 Starte image-builder.sh..." +exec ./scripts/image-builder.sh "$@"