#!/bin/sh
# noexpandtab is required for EOF/heredoc
# vim: noexpandtab
#
# IMPORTANT: this script will execute with /bin/sh which is dash on some
# systems so this shebang should not be changed
# DO NOT change this and make sure you are linting with shellcheck to ensure
# compatbility with scripts
set -ue
SVC_NAME=do-agent
CRON=/etc/cron.daily/do-agent
# fix an issue where this script runs on upgrades for rpm
# see https://github.com/jordansissel/fpm/issues/1175#issuecomment-240086016
arg="${1:-0}"
main() {
	if echo "${arg}" | grep -qP '^\d+$' && [ "${arg}" -gt 0 ]; then
		# rpm upgrade
		exit 0
	elif echo "${arg}" | grep -qP '^upgrade$'; then
		# deb upgrade
		exit 0
	fi
	if command -v systemctl >/dev/null 2>&1; then
		clean_systemd
	elif command -v initctl >/dev/null 2>&1; then
		clean_upstart
	else
		echo "Unknown init system" > /dev/stderr
	fi
	remove_cron
}
remove_cron() {
	rm -fv "${CRON}"
}
clean_upstart() {
	echo "Cleaning up init scripts"
	initctl stop ${SVC_NAME} || true
	initctl reload-configuration || true
}
clean_systemd() {
	echo "Cleaning up systemd scripts"
	systemctl stop ${SVC_NAME} || true
	systemctl disable ${SVC_NAME}.service || true
	systemctl daemon-reload || true
}
main