#!/bin/sh
# $OpenBSD: INSTALL,v 1.1.1.1 2003/12/11 19:00:59 david Exp $
#
# Pre/post-installation setup of Quagga

PATH=/bin:/usr/bin:/sbin:/usr/sbin
PREFIX=${PKG_PREFIX:-/usr/local}
CONFIG_DIR=/etc/zebra
STATE_DIR=/var/zebra
SAMPLE_CONFIG_DIR=$PREFIX/share/examples/zebra
QUAGGAUSER=_quagga
QUAGGAGROUP=_quagga
ID=525

do_usergroup_install()
{
  # Create Quagga user and group
  groupinfo -e $QUAGGAGROUP
  if [ $? -eq 0 ]; then
    echo "===> Using $QUAGGAGROUP group for Quagga"
  else
    echo "===> Creating $QUAGGAGROUP group for Quagga"
    groupadd -g $ID $QUAGGAGROUP
  fi
  userinfo -e $QUAGGAUSER
  if [ $? -eq 0 ]; then
    echo "===> Using $QUAGGAUSER user for Quagga"
  else
    echo "===> Creating $QUAGGAUSER user for Quagga"
    useradd -g $QUAGGAGROUP -d /nonexistent -L daemon -c 'Quagga Account' -s /sbin/nologin -u $ID $QUAGGAUSER
  fi
}

do_statedir_install()
{
  install -d -o $QUAGGAUSER -g $QUAGGAGROUP -m 755 $STATE_DIR
}

do_notice()
{
    echo
    echo "+---------------"
    echo "| The existing $1 configuration files in $CONFIG_DIR,"
    echo "| have NOT been changed.  You may want to compare them to the"
    echo "| current sample files in $SAMPLE_CONFIG_DIR,"
    echo "| and update your configuration as needed."
    echo "+---------------"
    echo
}

do_notice_conf()
{
    install -d -o $QUAGGAUSER -g $QUAGGAGROUP -m 755 $CONFIG_DIR
    echo
    echo "+---------------"
    echo "| Sample $1 configuration files have been installed in"
    echo "| $SAMPLE_CONFIG_DIR.  Please rename and install these files"
    echo "| into $CONFIG_DIR. Change the configuration to meet 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 [ ! -d $STATE_DIR ]; then
	  do_statedir_install
	fi
	if [ ! -d $CONFIG_DIR ]; then
	   do_notice_conf $1
	else
	   do_notice $1
	fi
	;;
    *)
	echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
	exit 1
	;;
esac

exit 0
