#!/bin/sh
# Legt das Laufzeitverzeichnis an, das die KONFIGURATION verlangt.
#
# Debian liefert dafuer ein tmpfiles-Schnipsel ("d /run/zabbix 0755 zabbix
# zabbix"), und unter s6 laeuft systemd-tmpfiles nicht. Der Pfad steht aber
# nicht fest: er ergibt sich aus PidFile in zabbix_proxy.conf, und die verwaltet
# Puppet -- auf zabbixproxy-1.crb2 steht dort /var/run/zabbix_proxy, im
# Ubuntu-Paket /run/zabbix (beides am 23.09.2026 nachgesehen). Deshalb wird der
# Pfad GELESEN und nicht angenommen; die Vorgabe greift nur, wenn nichts
# dasteht.
#
# run-script-daemon wuerde /run/zabbix_proxy anlegen (basename des DAEMON) --
# was zufaellig zur crb2-Konfiguration passt und zur Ubuntu-Vorgabe nicht.
# Genau diese Art Zufall hat bei mariadb/pdns schon zweimal getroffen.

set -u

CONF=${ZABBIX_PROXY_CONF:-/etc/zabbix/zabbix_proxy.conf}
DEFAULT_DIR=/run/zabbix

dir=''
if [ -r "$CONF" ]; then
    pidfile=$(sed -n 's/^[[:space:]]*PidFile=[[:space:]]*//p' "$CONF" 2>/dev/null | tail -n1)
    [ -n "${pidfile:-}" ] && dir=$(dirname "$pidfile")
fi
[ -n "$dir" ] || dir=$DEFAULT_DIR

# SocketDir kann ein zweites Verzeichnis verlangen; wenn es gesetzt ist, gilt es
# zusaetzlich (der Runtime-Control-Socket liegt dort).
sockdir=''
if [ -r "$CONF" ]; then
    sockdir=$(sed -n 's/^[[:space:]]*SocketDir=[[:space:]]*//p' "$CONF" 2>/dev/null | tail -n1)
fi

for d in "$dir" ${sockdir:+"$sockdir"}; do
    case $d in
    /*) ;;
    *) continue ;;
    esac
    install -d -m 0755 -o zabbix -g zabbix "$d" || exit 1
done
exit 0
