#!/bin/sh
# preinst script for bareos
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <new-preinst> `install'
#        * <new-preinst> `install' <old-version>
#        * <new-preinst> `upgrade' <old-version>
#        * <old-preinst> `abort-upgrade' <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

daemon_group=@dir_group@
daemon_user=@dir_user@

WORKING_DIR="@working_dir@"


create_group()
{
    [ -z "$1" ] && return
    # creating group if he isn't already there.
    # use addgroup instead of groupadd,
    # because "addgroup" uses the next available number,
    # while "groupadd" uses uses GID_MIN -1 (999)
    getent group $1 > /dev/null || addgroup -q --system $1
}

create_user()
{
    [ -z "$1" ] && return
    # creating user if he isn't already there.
    # use adduser instead of useradd,
    # because "adduser" uses the next available number,
    # while "useradd" uses uses UID_MIN -1 (999)
    getent passwd $1 > /dev/null || adduser -q --system --ingroup $daemon_group --home "$WORKING_DIR" --no-create-home --gecos "$1" $1
}


case "$1" in
    install|upgrade)
      create_group ${daemon_group}
      create_user  ${daemon_user}
    ;;

    abort-upgrade)
    ;;

    *)
        echo "preinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
