#!/bin/sh

# Create MaxScale user if it doesnt' exist
if ! getent passwd maxscale > /dev/null
then
    groupadd -r maxscale
    useradd -r -s /bin/false -g maxscale maxscale
fi

# Change the owner of the directories to maxscale:maxscale
for path in "/var/log/maxscale" "/var/lib/maxscale" "/var/cache/maxscale" "/var/run/maxscale" "/etc/maxscale.modules.d" "/etc/maxscale.cnf.d"
do
    chown -R maxscale:maxscale "$path"
    chmod 0755 "$path"
done

# Install ldconfig files
if [ -f "/usr/share/maxscale/maxscale.conf" ]
then
    cp /usr/share/maxscale/maxscale.conf /etc/ld.so.conf.d/
else
    echo "Could not find ldconfig file: /usr/share/maxscale/maxscale.conf" >& 2
fi

# Only copy the service files if the systemd folder and systemctl executable are found
if [ -f /usr/share/maxscale/maxscale.service ] && command -v systemctl > /dev/null
then
    if [ -d "/lib/systemd/system"  ]
    then
        cp /usr/share/maxscale/maxscale.service /lib/systemd/system
        systemctl daemon-reload > /dev/null 2>&1
    elif [ -d "/usr/lib/systemd/system"  ]
    then
        cp /usr/share/maxscale/maxscale.service /usr/lib/systemd/system
        systemctl daemon-reload > /dev/null 2>&1
    fi

    # Remove old directories, mistakenly installed by a few versions
    if [ -d /lib/systemd/system/maxscale.service.d ]
    then
        rmdir /lib/systemd/system/maxscale.service.d
    elif  [ -d /usr/lib/systemd/system/maxscale.service.d ]
    then
        rmdir /lib/systemd/system/maxscale.service.d
    fi

    systemctl enable maxscale.service > /dev/null 2>&1

    systemctl is-active maxscale.service --quiet > /dev/null 2>&1 && systemctl restart maxscale.service > /dev/null 2>&1
fi

# If no maxscale.cnf file is found in /etc, copy the template file there
if [ ! -f "/etc/maxscale.cnf" ]
then
    cp /etc/maxscale.cnf.template /etc/maxscale.cnf
fi

# If no logrotate config file is found, create one
if [ ! -f "/etc/logrotate.d/maxscale_logrotate" ]
then
    cp /usr/share/maxscale/maxscale_logrotate /etc/logrotate.d/maxscale_logrotate
fi

/sbin/ldconfig
