Dovecot Systax Problem
parent
eed0199bfa
commit
5d6daccf03
|
|
@ -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"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue