Dovecot Systax Problem

main
boksbc 2025-10-25 13:40:13 +02:00
parent eed0199bfa
commit 5d6daccf03
1 changed files with 21 additions and 18 deletions

View File

@ -31,7 +31,6 @@ set -euo pipefail
LOG="/var/log/mailwolt-update.log" LOG="/var/log/mailwolt-update.log"
STATE_DIR="/var/lib/mailwolt/update" STATE_DIR="/var/lib/mailwolt/update"
VERSION_FILE="/var/lib/mailwolt/version"
CANDIDATES=( CANDIDATES=(
/opt/mailwolt-installer/scripts/update.sh /opt/mailwolt-installer/scripts/update.sh
@ -39,20 +38,23 @@ CANDIDATES=(
/usr/local/lib/mailwolt/update.sh /usr/local/lib/mailwolt/update.sh
) )
# Beste vorhandene update.sh finden # bestes update.sh finden
SCRIPT="" SCRIPT=""
for p in "${CANDIDATES[@]}"; do for p in "${CANDIDATES[@]}"; do
if [[ -x "$p" ]]; then SCRIPT="$p"; break; fi if [[ -x "$p" ]]; then SCRIPT="$p"; break; fi
if [[ -f "$p" && -r "$p" ]]; then SCRIPT="$p"; break; fi if [[ -f "$p" && -r "$p" ]]; then SCRIPT="$p"; break; fi
done done
install -d -m 0755 "$STATE_DIR" install -d -m 0755 "$(dirname "$LOG")" "$STATE_DIR" /var/lib/mailwolt
: > "$LOG" || true
chmod 0644 "$LOG"
echo "running" > "$STATE_DIR/state" echo "running" > "$STATE_DIR/state"
{ {
echo "===== $(date -Is) :: Update gestartet =====" echo "===== $(date -Is) :: Update gestartet ====="
if [[ -z "$SCRIPT" ]]; then if [[ -z "$SCRIPT" ]]; then
echo "[!] update.sh nicht gefunden oder nicht ausführbar (versucht: ${CANDIDATES[*]})" echo "[!] update.sh nicht gefunden (versucht: ${CANDIDATES[*]})"
rc=127 rc=127
else else
echo "[i] benutze: $SCRIPT" echo "[i] benutze: $SCRIPT"
@ -60,33 +62,34 @@ echo "running" > "$STATE_DIR/state"
echo "[!] Bitte als root ausführen" echo "[!] Bitte als root ausführen"
rc=1 rc=1
else else
# Dirty-Working-Tree zulassen, damit UI-Commits/Änderungen kein Blocker sind if [[ -x "$SCRIPT" ]]; then ALLOW_DIRTY=1 "$SCRIPT"; else ALLOW_DIRTY=1 bash "$SCRIPT"; fi
if [[ -x "$SCRIPT" ]]; then
ALLOW_DIRTY=1 "$SCRIPT"
else
ALLOW_DIRTY=1 bash "$SCRIPT"
fi
rc=$? rc=$?
fi fi
fi fi
echo "===== $(date -Is) :: Update beendet (rc=$rc) =====" echo "===== $(date -Is) :: Update beendet (rc=$rc) ====="
# Version schreiben (Git-Tag oder Commit) # ── Version schreiben (aus App-Repo, Fallback Installer) ─────────────────────
if command -v git >/dev/null 2>&1; then if command -v git >/dev/null 2>&1; then
cd /opt/mailwolt-installer >/dev/null 2>&1 || true REPO="/var/www/mailwolt"
[[ -d "$REPO/.git" ]] || REPO="/opt/mailwolt-installer"
cd "$REPO" >/dev/null 2>&1 || true
raw=$(git describe --tags --always --dirty 2>/dev/null || echo "unknown") raw=$(git describe --tags --always --dirty 2>/dev/null || echo "unknown")
# "v" entfernen & Build-Suffixe kappen
norm=$(printf '%s' "$raw" | sed -E 's/^v//; s/-.*$//') norm=$(printf '%s' "$raw" | sed -E 's/^v//; s/-.*$//')
echo "$raw" > /var/lib/mailwolt/version_raw printf '%s\n' "$raw" > /var/lib/mailwolt/version_raw
echo "$norm" > /var/lib/mailwolt/version printf '%s\n' "$norm" > /var/lib/mailwolt/version
chmod 0644 /var/lib/mailwolt/version_raw /var/lib/mailwolt/version
echo "[i] Version aktualisiert: raw=$raw norm=$norm" echo "[i] Version aktualisiert: raw=$raw norm=$norm (Quelle: $REPO)"
else else
echo "unknown" > /var/lib/mailwolt/version_raw printf '%s\n' "unknown" > /var/lib/mailwolt/version_raw
echo "0.0.0" > /var/lib/mailwolt/version printf '%s\n' "0.0.0" > /var/lib/mailwolt/version
chmod 0644 /var/lib/mailwolt/version_raw /var/lib/mailwolt/version
fi fi
echo "$rc" > "$STATE_DIR/rc" printf '%s\n' "$rc" > "$STATE_DIR/rc"
echo "done" > "$STATE_DIR/state" echo "done" > "$STATE_DIR/state"
exit "$rc" exit "$rc"
} | tee -a "$LOG" } | tee -a "$LOG"