#!/bin/sh

install_file()
{
	src="$1"
	dest="$2"

	if [ -e "$dest" ] && ! cmp --quiet "$src" "$dest"
	then
		echo "INFO: $dest exists, new version copied to ${dest}.new"
		cp "$src" "${dest}.new"
		return 1
	fi

	cp "$src" "${dest}"
	return 0
}


echo "--- hyperion ambilight postinstall ---"
echo "- install configuration template"
mkdir -p /etc/hyperion
install_file /usr/share/hyperion/config/hyperion.config.json.example /etc/hyperion/hyperion.config.json


HYPERION_RUNNING=false
pgrep hyperiond > /dev/null 2>&1 && HYPERION_RUNNING=true

start_msg=""
restart_msg=""
SERVICE_POSTFIX=""

if [ -e /sbin/initctl ]
then
	echo "- init deamon: upstart"
	# upstart
	$HYPERION_RUNNING && initctl stop hyperion
	install_file /usr/share/hyperion/service/hyperion.initctl.sh /etc/init/hyperion.conf || SERVICE_POSTFIX=".new"
	initctl reload-configuration
	start_msg="initctl start hyperion"
	$HYPERION_RUNNING && initctl start hyperion

elif grep -m1 systemd /proc/1/comm > /dev/null
then
	echo "- init deamon: systemd"
	# systemd
	$HYPERION_RUNNING && systemctl stop hyperion 2> /dev/null
	install_file /usr/share/hyperion/service/hyperion.systemd.sh /etc/systemd/system/hyperion.service || SERVICE_POSTFIX=".new"
	systemctl -q enable hyperion.service
	start_msg="systemctl start hyperion"
	$HYPERION_RUNNING && systemctl start hyperion

#		if [ $OS_OSMC -eq 1 ]; then
#			echo '---> Modify systemd script for OSMC usage'
#			# Wait until kodi is sarted (for kodi checker)
#			sed -i '/After = mediacenter.service/d' /etc/systemd/system/hyperion.service
#			sed -i '/Unit/a After = mediacenter.service' /etc/systemd/system/hyperion.service
#			sed -i 's/User=osmc/User=root/g' /etc/systemd/system/hyperion.service
#			sed -i 's/Group=osmc/Group=root/g' /etc/systemd/system/hyperion.service
#			systemctl -q daemon-reload
#		fi
#	systemctl start hyperion

else
	echo "- init deamon: sysV"
	# sysV
	$HYPERION_RUNNING && service hyperion stop 2>/dev/null
	install_file /usr/share/hyperion/service/hyperion.init.sh /etc/init.d/hyperion || SERVICE_POSTFIX=".new"
	chmod +x /etc/init.d/hyperion
	update-rc.d hyperion defaults 98 02
	start_msg="service hyperion start"
	$HYPERION_RUNNING && service hyperion start
fi

echo "-----------------------------------------------------------------------------"
echo "- hyperion is installed, please check your configuration in /etc/hyperion/  -"
echo "-----------------------------------------------------------------------------"

if [ -e /opt/hyperion/ ]
then
	echo
	echo "---------------------------------------------------------------------------------"
	echo "- It seemd that you have an older version of hyperion installed in /opt/hyerion -"
	echo "- please remove it and check your config to avoid problems                      -"
	echo "---------------------------------------------------------------------------------"
fi