#!/bin/sh -

# $1 = Path to package being installed
# $2 = Destination path of where package is being installed
# $3 = Mountpoint of the destination volume
# $4 = Path to the directory containing the System folder that contains the
#      active Installation framework.

pkg_path="${1}"

if [ "${3}" != "/" ]; then
	dst_vol="${3}"
else
	dst_vol=""
fi

old_rc_server="${dst_vol}/etc/rc.server"
new_rc_server="${pkg_path}/Contents/Resources/rc.server-for-10_4_7"
server_plist="${dst_vol}/System/Library/CoreServices/ServerVersion.plist"

if [ ! -f "${server_plist}" ]; then
	echo "Not installing on Mac OS X Server." >&2
	exit 0
fi

if [ ! -f "${old_rc_server}" ]; then
	echo "No pre-existing ${old_rc_server}; no update required." >&2
	exit 0
fi

cat "${server_plist}" | (
	while read line; do
		if [ "${line}" = "<key>ProductBuildVersion</key>" ]; then
			read build_line
			build_number=`echo "${build_line}" | \
					sed -e 's,<string>,,g' \
					    -e 's,<.*$,,g'`
			case "${build_number}" in
			# (
			8K*)
				if ! cp \
				    "${new_rc_server}" "${old_rc_server}"; then
					echo \
				    "Unable to update file: ${old_rc_server}" \
				    	    >&2
					exit 0
				fi

				echo "Successfully updated ${old_rc_server}." \
				    >&2
				exit 0
				;;
			esac
		fi
	done

	echo "Existing ${old_rc_server} does not require an update." >&2
)
