#!/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"

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