#!/usr/bin/env bash set -e # 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 # Am Ende das eigentliche Script starten echo "🚀 Starte image-builder.sh..." exec ./scripts/image-builder.sh "$@"