#!/bin/bash
# abrecovery wrapper for deepin-security-loader

REAL_BINARY="/usr/libexec/deepin/abrecovery"
LOADER="/usr/bin/deepin-security-loader"
LOADER_EXEC="/usr/bin/deepin-security-loader-exec"

log_to_journal() {
    logger -t abrecovery -p user.info "$1"
}

log_to_journal "abrecovery launched with args: $*"

if [ -x "$LOADER" ] && [ -x "$LOADER_EXEC" ]; then
    if getcap "$LOADER_EXEC" 2>/dev/null | grep -q cap_setgid; then
        log_to_journal "Using deepin-security-loader with authorization groups"
        exec "$LOADER" --group deepin-daemon -- "$REAL_BINARY" "$@"
    fi
fi

log_to_journal "Fallback: launching directly without security loader"
exec "$REAL_BINARY" "$@"
