#!/bin/sh
# $OpenBSD: INSTALL-mon,v 1.4 2004/02/16 20:09:04 sturm Exp $
#
# Pre/post-installation setup of symon monitor

# exit on errors, use a sane path and install prefix
#
set -e
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PREFIX=${PKG_PREFIX:-/usr/local}
CONFIG_FILE=${SYSCONFDIR}/symon.conf
SAMPLE_CONFIG_FILE=$PREFIX/share/examples/symon/symon.conf
SYMONUSER=_symon
SYMONGROUP=_symon
ID=525

do_usergroup_install()
{
  # Create symon user and group
  if groupinfo -e $SYMONGROUP; then
    echo "===> Using $SYMONGROUP group for symon"
  else
    echo "===> Creating $SYMONGROUP group for symon"
    groupadd -g $ID $SYMONGROUP
  fi
  if userinfo -e $SYMONUSER; then
    echo "===> Using $SYMONUSER user for symon"
  else
    echo "===> Creating $SYMONUSER user for symon"
    useradd -g $SYMONGROUP -d /var/empty -L daemon -c 'symon Account' -s /sbin/nologin -u $ID $SYMONUSER
  fi
}

do_notice()
{
    echo
    echo "+---------------"
    echo "| The existing $1 configuration file, $CONFIG_FILE,"
    echo "| has NOT been changed. You may want to compare it to the"
    echo "| current sample file, $SAMPLE_CONFIG_FILE,"
    echo "| and update your configuration as needed."
    echo "+---------------"
    echo
}

do_install()
{
    $PREFIX/share/symon/c_config.sh 127.0.0.1 2100 > $CONFIG_FILE

    echo
    echo "+---------------"
    echo "| The $1 configuration file, $CONFIG_FILE, has been generated by"
    echo "| $PREFIX/share/symon/c_config.sh.  It has been filled with cpu, memory,"
    echo "| pf, default disks and interfaces. Please review this file and change"
    echo "| the configuration to suit your needs."
    echo "+---------------"
    echo
}

# verify proper execution
#
if [ $# -ne 2 ]; then
    echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
    exit 1
fi

# Verify/process the command
#
case $2 in
    PRE-INSTALL)
	do_usergroup_install
	;;
    POST-INSTALL)
	if [ -f $CONFIG_FILE ]; then
	    do_notice $1
	else
	    do_install $1
	fi
	;;
    *)
	echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
	exit 1
	;;
esac

exit 0

