diff --git a/scripts/88-update-wrapper.sh b/scripts/88-update-wrapper.sh index 6a7aa97..52a0730 100644 --- a/scripts/88-update-wrapper.sh +++ b/scripts/88-update-wrapper.sh @@ -36,10 +36,10 @@ CANDIDATES=( /usr/local/lib/mailwolt/update.sh ) +# Beste vorhandene update.sh finden SCRIPT="" for p in "${CANDIDATES[@]}"; do if [[ -x "$p" ]]; then SCRIPT="$p"; break; fi - # falls nicht executable, aber lesbar: über bash ausführen if [[ -f "$p" && -r "$p" ]]; then SCRIPT="$p"; break; fi done @@ -49,19 +49,19 @@ echo "running" > "$STATE_DIR/state" { echo "===== $(date -Is) :: Update gestartet =====" if [[ -z "$SCRIPT" ]]; then - echo "[!] update.sh nicht gefunden oder nicht ausführbar" + echo "[!] update.sh nicht gefunden oder nicht ausführbar (versucht: ${CANDIDATES[*]})" rc=127 else + echo "[i] benutze: $SCRIPT" if [[ "$(id -u)" -ne 0 ]]; then echo "[!] Bitte als root ausführen" rc=1 else - # Env aus REQUEST durchreichen (falls via sudo aufgerufen) - # und Script starten; wenn nicht executable → über bash starten + # Dirty-Working-Tree zulassen, damit UI-Commits/Änderungen kein Blocker sind if [[ -x "$SCRIPT" ]]; then - "$SCRIPT" + ALLOW_DIRTY=1 "$SCRIPT" else - bash "$SCRIPT" + ALLOW_DIRTY=1 bash "$SCRIPT" fi rc=$? fi