#!/bin/sh
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package

case "$1" in
    configure)
        USERNAME=storage
        id -u frostfs-$USERNAME >/dev/null 2>&1 || useradd -s /usr/sbin/nologin -d /var/lib/frostfs/$USERNAME --system -M -U -c "NeoFS Storage node" frostfs-$USERNAME
        if ! dpkg-statoverride --list /etc/frostfs/$USERNAME >/dev/null; then
            chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME
            chmod -f 0750 /etc/frostfs/$USERNAME
            chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME/config.yml
            chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME/control.yml
            chmod -f 0640 /etc/frostfs/$USERNAME/config.yml || true
            chmod -f 0640 /etc/frostfs/$USERNAME/control.yml || true
        fi
        USERDIR=$(getent passwd "frostfs-$USERNAME" | cut -d: -f6)
        if ! dpkg-statoverride --list frostfs-$USERDIR >/dev/null; then
            chown -f frostfs-$USERNAME: $USERDIR
        fi
        USERDIR=/srv/frostfs
        if ! dpkg-statoverride --list frostfs-$USERDIR >/dev/null; then
            chown -f frostfs-$USERNAME: $USERDIR
        fi
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)
        echo "postinst 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