systemd_units=(@_F_systemd_units@)

post_install()
{

	/usr/bin/getent group openldap > /dev/null 2>&1 || /usr/sbin/groupadd -g 49 openldap
	/usr/bin/getent passwd openldap > /dev/null 2>&1 || /usr/sbin/useradd -c -M -u 49 -d /var/openldap/openldap-data -r -s /bin/false -g openldap openldap

	chown -R openldap:openldap var/openldap
	chown -R openldap:openldap etc/openldap

	local unit
	local op
	local i

	for i in ${systemd_units[@]}; do
		unit=$(echo $i | cut -f 1 -d '=')
		op=$(echo $i | cut -f 2 -d '=')
		if echo $op | grep -q 'e'; then
			systemctl enable $unit.service >/dev/null 2>&1
		fi
		if echo $op | grep -q 's'; then
			systemctl start $unit.service >/dev/null 2>&1
		fi
	done
}

post_upgrade()
{

	/usr/bin/getent group openldap > /dev/null 2>&1 || /usr/sbin/groupadd -g 49 openldap
	/usr/bin/getent passwd openldap > /dev/null 2>&1 || /usr/sbin/useradd -c -M -u 49 -d /var/openldap/openldap-data -r -s /bin/false -g openldap openldap
	
	chown -R openldap:openldap var/openldap
	chown -R openldap:openldap etc/openldap

	systemctl daemon-reload >/dev/null 2>&1
}

pre_remove()
{
	/usr/bin/getent passwd openldap > /dev/null 2>&1 && /usr/sbin/userdel openldap
	/usr/bin/getent group openldap > /dev/null 2>&1 && /usr/sbin/groupdel openldap

	local unit
	local i

	for i in ${systemd_units[@]}; do
		unit=$(echo $i | cut -f 1 -d '=')
		systemctl --no-reload disable $unit.service >/dev/null 2>&1
		systemctl stop $unit.service >/dev/null 2>&1
	done
}

post_remove()
{
	systemctl daemon-reload >/dev/null 2>&1
}

op=$1
shift
$op $*
