#!/bin/sh
#
# Perform necessary steps to remove dk
# before package is installed.
#

PROGNAME=`basename $0`

error_exit()
{
  echo "${PROGNAME}: ${1:-"Unknown Error"}" 1>&2
  exit 1
}

is_darwin()
{
  uname -a | grep "^Darwin" 2>&1 >/dev/null
}

# During a dpkg upgrade an older postrm removes every name it lists, sibling
# links included; save them for postinst to put back.
SAVED_LINKS=/var/lib/cinc-workstation/sibling-links
rm -f "$SAVED_LINKS"
if [ "$1" = "upgrade" ]; then
  for link in /usr/bin/*; do
    [ -L "$link" ] && [ -e "$link" ] || continue
    target=`readlink "$link"`
    case "$target" in
      /opt/cinc/*|/opt/cinc-auditor/*)
        mkdir -p "`dirname "$SAVED_LINKS"`" && echo "$link $target" >> "$SAVED_LINKS" ;;
    esac
  done
fi

if is_darwin; then
    pkgId='com.getchef.pkg.chefdk'
    echo "Checking for ChefDK installation"
    if pkgutil --pkgs=$pkgId; then
      echo "ChefDK installation found"
      echo "Uninstalling ChefDK"
      echo "Removing files"
      rm -rf '/opt/chefdk'
      echo "Removing binary links in /usr/local/bin"
      find /usr/local/bin -lname '/opt/chefdk/*' -delete
      echo "Forgetting $pkgId"
      pkgutil --forget $pkgId
    fi
fi
