#!/bin/bash
# postinst script for dinit-service-rc-local-user.
#
# 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.

SERVICE1="spice-vdagentd"
USER_SERVICE1="spice-vdagent"

case "$1" in
    configure)
	##### GLOBAL SERVICES #####
	if [ $(ps -p1 | grep -ic "dinit") -eq 1 ]; then
		echo "dinit is running as the system's init system - enabling & starting $SERVICE1 using dinitctl"
		dinitctl enable $SERVICE1 && dinitctl start $SERVICE1; 
	else
		echo "dinit not detected as init - enabling $SERVICE1 via symlink"
		ln -sf /etc/dinit.d/$SERVICE1 /etc/dinit.d/boot.d/$SERVICE1
	fi
	
	##### STOP HERE IF antiX BUILD DETECTED #####
	if [ "$(stat -c %d/%i /)" != "$(stat -Lc %d/%i /proc/1/root 2>/dev/null)" ]; then
			echo "A chroot environment has been detected - Not proceeding with postinst"
			exit 0
	fi
	
	##### USER SERVICES #####
	getent passwd $(basename -a /home/*) | awk -F: '{print $1}' | while read user; do 
	if [ $(ps -p1 | grep -ic "dinit") -eq 1 ]; then	
		runuser -u $user -- dinitctl enable $USER_SERVICE1 &>/dev/null
	else
		echo "dinit not detected as init - enabling $USER_SERVICE1 via symlink"
		runuser -u $user -- ln -sf /etc/dinit.d/user/$USER_SERVICE1 /home/$user/.dinit.d/boot.d/$USER_SERVICE1
	fi
	done
	;;

    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
