#!/bin/sh
# post-installation script

SCRIPT_PATH=`dirname "$0"`
TARGET_LOCATION=${2%/}
UNINSTALL_WATCH="$SCRIPT_PATH/watchuninstall.plist"
AGENT_DESTINATION="/Library/LaunchDaemons/{{serviceName}}.uninstall.plist"
DAEMON_USER="{{daemonUser}}"

set -e

echo "SCRIPT_PATH: '$SCRIPT_PATH'"
echo "TARGET_LOCATION: '$TARGET_LOCATION'"
echo "UNINSTALL_WATCH: '$UNINSTALL_WATCH'"
echo "AGENT_DESTINATION: '$AGENT_DESTINATION'"
echo "DAEMON_USER: '$DAEMON_USER'"
echo "I am Batman, or: $(whoami)"

{{script}}

################################################################################################
### Update the uninstall watcher
if [ -f "/usr/libexec/PlistBuddy" ]; then
    
    echo "I am Batman, or: $(whoami)"
	# Use libexec as told by Apple to have semipermanent storage for executable for Agent 
	/usr/bin/ditto "$SCRIPT_PATH/uninstall.sh" "/opt/{{serviceName}}/uninstall.sh"
	chown "$(whoami)":wheel "/opt/{{serviceName}}/uninstall.sh"
	
    /usr/libexec/PlistBuddy -c "Add :WatchPaths: String /Library/PreferencePanes" "$UNINSTALL_WATCH"
	/usr/libexec/PlistBuddy -c "Set :Program /opt/{{serviceName}}/uninstall.sh" "$UNINSTALL_WATCH"
else
	echo "Cannot properly set up the service without the PlistBuddy tool"
	exit 1
fi

/usr/bin/ditto "$UNINSTALL_WATCH" "$AGENT_DESTINATION"
chown "$(whoami)":wheel "$AGENT_DESTINATION"
chmod 644 "$AGENT_DESTINATION"
/bin/launchctl load "$AGENT_DESTINATION"

################################################################################################
