#!/bin/bash

# MX Linux mx-updater-disable-auto-update pkexec wrapper to retain QT environment
# Usage:
#        mx-updater-disable-auto-update apps ...
# adapted from mx-pkexec by dolphin_oracle for MX-Linux
# original code by fehlix for MX-Linux

if [ "$EUID" != "0" ]; then
    # normal user
    QTENV="/tmp/mx-updater-disable-auto-update-qtenv.$EUID.$PPID.$$.$RANDOM$RANDOM"
    env | grep -E '^QT_|^LANG='  | sed -e 's/^/export /' 2>/dev/null  > "$QTENV"
    chmod +r "$QTENV"
    pkexec /usr/lib/apt-notifier/pkexec-wrappers/mx-updater-disable-auto-update "--qtenv" "$QTENV" "${@}"
    if [ -f "$QTENV" ] ; then
        rm  $QTENV
    fi
fi
if [ "$EUID" = "0" ]; then
    # root user
    if  [ "x$1" = "x--qtenv" ]; then
        QTENV="$2"
        shift
        shift
        if [ -r "$QTENV" -a  "$QTENV" != "${QTENV#/tmp/mx-updater-disable-auto-update-qtenv.}" ] ; then 
            . $QTENV
            rm  $QTENV
        fi
        PATH="/usr/local/bin:$PATH"
    fi
    eval set "$@"
    RUN="$1"
    shift
    echo Starting  "$RUN" "${@}"
    command -v "$RUN" >/dev/null || { echo "mx-updater-disable-auto-update: Command '$RUN' not found"; exit 1; }
    export NO_AT_BRIDGE=1
    exec "$RUN" "${@}"
fi
exit

