File: /var/lib/dpkg/info/nutanix-guest-agent.preinst
#!/bin/sh
# This `DEBIAN/preinst` script is run pre-installation
set -e
NGT_ROOT=/usr/local/nutanix/ngt
NGT_DAEMON_NAME=ngt_guest_agent
SSR_DAEMON_NAME=ngt_self_service_restore
DAEMON_CONFIG_DIR=/etc/init.d/
NGT_DAEMON_PATH=$DAEMON_CONFIG_DIR/$NGT_DAEMON_NAME
SSR_DAEMON_PATH=$DAEMON_CONFIG_DIR/$SSR_DAEMON_NAME
NGT_CONFIG_DIR=$NGT_ROOT/config/
NGT_MARKER_FILENAME=ngt_marker
OLD_NGT_MARKER_PATH=$NGT_CONFIG_DIR/$NGT_MARKER_FILENAME
NGT_INSTALL_MARKER_FILENAME=ngt_install
NGT_UPGRADE_MARKER_FILENAME=ngt_upgrade
OLD_NGT_INSTALL_MARKER_PATH=$NGT_ROOT/$NGT_INSTALL_MARKER_FILENAME
OLD_NGT_UPGRADE_MARKER_PATH=$NGT_ROOT/$NGT_UPGRADE_MARKER_FILENAME
precheck() {
if [ -f $NGT_DAEMON_PATH ]; then
$NGT_DAEMON_PATH stop >/dev/null 2>&1 || :
update-rc.d -f $NGT_DAEMON_NAME remove >/dev/null 2>&1 || :
rm -rf $NGT_DAEMON_PATH;
fi;
if [ -f $SSR_DAEMON_PATH ]; then
$SSR_DAEMON_NAME stop >/dev/null 2>&1 || :
update-rc.d -f $SSR_DAEMON_NAME remove >/dev/null 2>&1 || :
rm -rf $SSR_DAEMON_PATH;
fi;
# Cleanup existing folder except config and logs
# in case if any user do upgrade from legacy to rpm.
if [ -d $NGT_ROOT ]; then
find $NGT_ROOT -maxdepth 1 -mindepth 1 ! -name logs ! -name config -exec rm -rf {} \;
fi
}
remove_old_ngt_marker() {
if [ -f $OLD_NGT_MARKER_PATH ]; then
rm -rf $OLD_NGT_MARKER_PATH;
fi;
if [ -f $OLD_NGT_INSTALL_MARKER_PATH ]; then
rm -rf $OLD_NGT_INSTALL_MARKER_PATH;
fi;
if [ -f $OLD_NGT_UPGRADE_MARKER_PATH ]; then
rm -rf $OLD_NGT_UPGRADE_MARKER_PATH;
fi;
}
# Write a marker file to indicate completion of pre-installation steps.
case "$1" in
"install")
echo "Pre: Nutanix Guest Agent debian package is getting install."
precheck
remove_old_ngt_marker
mkdir -p $NGT_ROOT
touch $NGT_ROOT/ngt_install
;;
"upgrade")
echo "Pre: Nutanix Guest Agent debian package is getting upgraded."
remove_old_ngt_marker
mkdir -p $NGT_ROOT
touch $NGT_ROOT/ngt_upgrade
;;
esac