#!/bin/sh
#
#

echo "post_upgrade"


#------------------------------------------------------------------
# migrate or install the web admin link file

#de-macbin QTSSAdminUrl.bin
if [ ! -e "${3}/Applications/QuickTime Streaming Server" ]
then
    echo "${1}/Contents/Resources/macbin" -d -p "${3}/Applications/" "${3}/Applications/QTSSAdminUrl.bin"
    "${1}/Contents/Resources/macbin" -d -p "${3}/Applications/" "${3}/Applications/QTSSAdminUrl.bin"
    mv "${3}/Applications/QTSSAdminUrl" "${3}/Applications/QuickTime Streaming Server"
fi

#rm the .bin file
echo "rm -f ${3}/Applications/QTSSAdminUrl.bin"
rm -f "${3}/Applications/QTSSAdminUrl.bin"

#rm the files installed by 3.0
if [ -e "${3}/Library/QuickTimeStreaming/QTSSAdminUrl.bin" ]
then
	echo "rm -f ${3}/Library/QuickTimeStreaming/QTSSAdminUrl.bin"
	rm "${3}/Library/QuickTimeStreaming/QTSSAdminUrl.bin"
fi

if [ -e "${3}/Library/QuickTimeStreaming/QTSSAdminUrl" ]
then
	echo "rm -f ${3}/Library/QuickTimeStreaming/QTSSAdminUrl"
	rm "${3}/Library/QuickTimeStreaming/QTSSAdminUrl" 
fi

#rm the files installed by 4.0/4.1
if [ -e "${3}/Applications/QTSSAdminUrl" ]
then
	echo "rm -f ${3}/Applications/QTSSAdminUrl"
	rm -f "${3}/Applications/QTSSAdminUrl"
fi

if [ -e "${3}/Applications/Streaming Server Admin" ]
then
	echo "rm -f ${3}/Applications/Streaming Server Admin"
	rm -f "${3}/Applications/Streaming Server Admin"
fi

#------------------------------------------------------------------
# fix up auto-start file

sed s/QTSSERVER=-NO-/QTSSERVER=-YES-/ "${3}/etc/hostconfig" > "${3}/etc/hostconfig.tmp"
mv "${3}/etc/hostconfig.tmp" "${3}/etc/hostconfig"
rehash

#------------------------------------------------------------------
# if backup config files exist, replace our new default config with the user's
# old config files.  Then replace some of the old values with new tweaked values
cp -f "${3}/tmp/streamingserver.xml.backup" "${3}/Library/QuickTimeStreaming/Config/streamingserver.xml.backup"

if [ -e "${3}/tmp/streamingserver.xml.backup" ]
then
   /usr/bin/perl "$1/Contents/Resources/removeprefs" "${3}/tmp/streamingserver.xml.backup" "${3}/tmp/ssbak"
   mv -f "${3}/tmp/ssbak" "${3}/tmp/streamingserver.xml.backup"
fi



#------------------------------------------------------------------
# If the user already had a configuration file , then restore it

mv -f "${3}/tmp/streamingrelay.conf.backup"	"${3}/Library/QuickTimeStreaming/Config/streamingrelay.conf"
mv -f "${3}/tmp/relayconfig.xml.backup" "${3}/Library/QuickTimeStreaming/Config/relayconfig.xml" 
mv -f "${3}/tmp/streamingadminserver.conf.backup" "${3}/Library/QuickTimeStreaming/Config/streamingadminserver.conf"
mv -f "${3}/tmp/streamingadminserver_autostart.conf.backup" "${3}/Library/QuickTimeStreaming/Config/streamingadminserver_autostart.conf"
mv -f "${3}/tmp/qtusers.backup" "${3}/Library/QuickTimeStreaming/Config/qtusers.backup"
mv -f "${3}/tmp/qtgroups.backup" "${3}/Library/QuickTimeStreaming/Config/qtgroups.backup"
mv -f "${3}/tmp/streamingloadtool.conf.backup" "${3}/Library/QuickTimeStreaming/Config/streamingloadtool.conf"
mv -f "${3}/tmp/streamingadminserver.pem.backup" "${3}/Library/QuickTimeStreaming/Config/streamingadminserver.pem"
mv -f "${3}/tmp/streamingserver.xml.backup" "${3}/Library/QuickTimeStreaming/Config/streamingserver.xml"
mv -f "${3}/tmp/streamingserver.xml-sample.backup" "${3}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"

#------------------------------------------------------------------
#	Remove old 3.x files (which were incorrectly installed in "local" dirs)

rm -f "${3}/etc/streaming/streamingserver.xml-sample"
rm -rf "${3}/etc/streaming/"

rm -rf "${3}/usr/local/sbin/StreamingServerModules.disabled/"
rm -rf "${3}/usr/local/sbin/StreamingServerModules"

rm -f "${3}/usr/local/sbin/streamingadminserver.pl"
rm -f "${3}/usr/local/sbin/QuickTimeStreamingServer"

rm -f "${3}/usr/local/bin/PlaylistBroadcaster"
rm -f "${3}/usr/local/bin/qtpasswd"
rm -f "${3}/usr/local/bin/StreamingLoadTool"

rm -f ${3}/Library/QuickTimeStreaming/StreamingServerC?????C????C????C????.rtf
rm -f "${3}/Library/QuickTimeStreaming/StreamingServerLisezMoi.rtf"
rm -f "${3}/Library/QuickTimeStreaming/StreamingServerLiesMich.rtf"
rm -f "${3}/Library/QuickTimeStreaming/StreamingServerReadMe.rtf"

rm -f "${3}/Library/QuickTimeStreaming/AboutQTStreamingServer.pdf"
rm -f ${3}/Library/QuickTimeStreaming/QTSS\ ????????????.pdf
rm -f ${3}/Library/QuickTimeStreaming/Infos\ serveur\ d\'enchai??nement\ QT.pdf
rm -f ${3}/Library/QuickTimeStreaming/U??ber\ QuickTime\ Streaming\ Server.pdf

rm -f "${3}/Library/QuickTimeStreaming/broadcast_sdpfiles"


#------------------------------------------------------------------
## migrate playlist froms QTSS-3 to QTSS-4

${RECEIPT_PATH}/updateplaylists ${3}


#------------------------------------------------------------------
## Migrate uses & groups


if [ -d "${3}/Library/Receipts/QTSS3.pkg" ] 
then
	echo "Updating streaming users and groups"

	existingGroupsFile=0
	
	if [ -e "${3}/Library/QuickTimeStreaming/Config/qtgroups.backup" ] 
	then
		echo 'mv "${3}/Library/QuickTimeStreaming/Config/qtgroups.backup" "${3}/Library/QuickTimeStreaming/Config/qtgroups"'
		mv "${3}/Library/QuickTimeStreaming/Config/qtgroups.backup" "${3}/Library/QuickTimeStreaming/Config/qtgroups"
		existingGroupsFile=1
	fi
		
	if [ -e "${3}/Library/QuickTimeStreaming/Config/qtusers.backup" ] 
	then
		echo 'mv "${3}/Library/QuickTimeStreaming/Config/qtusers.backup" "${3}/Library/QuickTimeStreaming/Config/qtusers"'
		mv "${3}/Library/QuickTimeStreaming/Config/qtusers.backup" "${3}/Library/QuickTimeStreaming/Config/qtusers"
	
		if [ ${existingGroupsFile} -eq 1 ]
		then
			echo  >> "${3}/Library/QuickTimeStreaming/Config/qtgroups"
			echo "admin: streamingadmin" >> "${3}/Library/QuickTimeStreaming/Config/qtgroups"
		else
			echo "admin: streamingadmin" > "${3}/Library/QuickTimeStreaming/Config/qtgroups"
		fi
	fi
	
else  ## QTSS4->QTSS4 upgrade
		echo 'mv "${3}/Library/QuickTimeStreaming/Config/qtgroups.backup" "${3}/Library/QuickTimeStreaming/Config/qtgroups"'
		mv "${3}/Library/QuickTimeStreaming/Config/qtgroups.backup" "${3}/Library/QuickTimeStreaming/Config/qtgroups"

		echo 'mv "${3}/Library/QuickTimeStreaming/Config/qtusers.backup" "${3}/Library/QuickTimeStreaming/Config/qtusers"'
		mv "${3}/Library/QuickTimeStreaming/Config/qtusers.backup" "${3}/Library/QuickTimeStreaming/Config/qtusers"
	
fi

#------------------------------------------------------------------

rm -rf "${3}/Library/Receipts/QTSS3.pkg"
rm -rf "${3}/Library/Receipts/QTSS.pkg"

# Launch the admin server (don't launch the streaming server - streamingadminserver.pl will do that)
/usr/sbin/streamingadminserver.pl

exit 0
