#!/bin/sh
# Original installer by Joseph Wang
# Media server shutdown compliments from John Watte
# Additions and revisions by Manuel Costa

# The following sections remove any other possible conflicting drivers. Most of these probably will
# not have any ill effects if left installed, but they are removed for safety's sake.

if [ -e "$HOME/config/add-ons/kernel/drivers/bin/soundblaster compatible" ] && [ `alert \
		"You have a Soundblaster Compatible driver installed.  Would you like this removed? (HIGHLY RECOMMENDED)" \
		"No" "Yes"` = "Yes" ]; then
	rm "$HOME/config/add-ons/kernel/drivers/bin/soundblaster compatible"
	rm "$HOME/config/add-ons/kernel/drivers/dev/audio/raw/soundblaster compatible"
	rm "$HOME/config/add-ons/kernel/drivers/dev/audio/old/soundblaster compatible"
	rm "$HOME/config/settings/soundblaster compatible"
	fi

if [ -e $HOME/config/add-ons/kernel/drivers/bin/sbpro ] && [ `alert \
		"You have a Sound Blaster Pro driver installed.  Would you like this removed?" \
		"No" "Yes"` = "Yes" ]; then
	rm $HOME/config/add-ons/kernel/drivers/bin/sbpro
	rm $HOME/config/add-ons/kernel/drivers/dev/audio/raw/sbpro
	rm $HOME/config/add-ons/kernel/drivers/dev/audio/old/sbpro
	rm $HOME/config/settings/sbpro
	fi

if [ -e $HOME/config/add-ons/kernel/drivers/bin/es18xx ] && [ `alert \
		"You have an ess18xx driver installed. Would you like this removed?" \
		"No" "Yes"` = "Yes" ]; then
	rm $HOME/config/add-ons/kernel/drivers/bin/es18xx
	rm $HOME/config/add-ons/kernel/drivers/dev/audio/raw/es18xx
	rm $HOME/config/add-ons/kernel/drivers/dev/audio/old/es18xx
	rm $HOME/config/settings/es18xx
	fi

if [ -e $HOME/config/add-ons/kernel/drivers/bin/ess1869 ] && [ `alert \
		"You have an ess1869 driver installed. Would you like this removed?" \
		"No" "Yes"` = "Yes" ]; then
	rm $HOME/config/add-ons/kernel/drivers/bin/ess1869
	rm $HOME/config/add-ons/kernel/drivers/dev/audio/raw/ess1869
	rm $HOME/config/add-ons/kernel/drivers/dev/audio/old/ess1869
	rm $HOME/config/settings/ess1869
	fi

# The following section compiles and installs the ArmadaESS1869 driver. Also cleans up after itself.

cd `dirname "$0"`
make install
make clean
rmdir obj.x86

# We now restart the Media Server in order for the Armada ESS 1869 driver to take effect.

if [ `alert "Do you want changes to take effect now?" "No" "Yes"` = "Yes" ]; then
	kill -HUP media_server
	sleep 5
	kill -9 media_server
	kill -9 media_addon_server
	kill -9 audio_server
	if [ -x /bin/rescan ]; then rescan ArmadaESS1869; fi
	/system/servers/media_server >/dev/null &
	fi