#!/bin/sh
# $OpenBSD: INSTALL,v 1.2 2004/06/05 21:13:25 jakob Exp $
#
# Pre/post-installation setup of jabberd

PATH=/bin:/usr/bin:/sbin:/usr/sbin
PREFIX=${PKG_PREFIX:-/usr/local}
UID=533
GID=533

do_usergroup_install()
{
  # Create jabberd user and group
  groupinfo -e _jabberd
  if [ $? -eq 0 ]; then
    echo "===> Using _jabberd group for jabberd"
  else
    echo "===> Creating _jabberd group for jabberd"
    groupadd -g $GID _jabberd
  fi
  userinfo -e _jabberd
  if [ $? -eq 0 ]; then
    echo "===> Using _jabberd user for jabberd"
  else
    echo "===> Creating _jabberd user for jabberd"
    useradd -g _jabberd -d /nonexistent -L daemon -c 'jabberd account' -s /bin/sh -u $UID _jabberd
  fi
}

do_jabberddir_install()
{
  install -d -o _jabberd -g _jabberd -m 771 /var/jabberd
  install -d -o _jabberd -g _jabberd -m 775 /var/jabberd/pid
  install -d -o _jabberd -g _jabberd -m 775 /var/jabberd/log
}

do_notice_conf()
{
  echo
  echo "+---------------"
  echo "| The existing $1 configuration files in /etc/jabberd have NOT"
  echo "| been changed.  You may want to compare them to the current samples in"
  echo "| /usr/local/share/examples/jabberd, and update your configuration"
  echo "| files as needed."
}

do_install_conf()
{
    install -d -o root -g wheel -m 755 /etc/jabberd
    install -o _jabberd -g _jabberd -m 640 /usr/local/share/examples/jabberd/jabberd.cfg /etc/jabberd/jabberd.cfg
    install -o _jabberd -g _jabberd -m 640 /usr/local/share/examples/jabberd/c2s.xml /etc/jabberd/c2s.xml
    install -o _jabberd -g _jabberd -m 640 /usr/local/share/examples/jabberd/resolver.xml /etc/jabberd/resolver.xml
    install -o _jabberd -g _jabberd -m 640 /usr/local/share/examples/jabberd/router-users.xml /etc/jabberd/router-users.xml
    install -o _jabberd -g _jabberd -m 640 /usr/local/share/examples/jabberd/router.xml /etc/jabberd/router.xml
    install -o _jabberd -g _jabberd -m 640 /usr/local/share/examples/jabberd/s2s.xml /etc/jabberd/s2s.xml
    install -o _jabberd -g _jabberd -m 640 /usr/local/share/examples/jabberd/sm.xml /etc/jabberd/sm.xml
    install -d -o _jabberd -g _jabberd -m 750 /etc/jabberd/templates
    install -o _jabberd -g _jabberd -m 640 /usr/local/share/examples/jabberd/templates/roster.xml /etc/jabberd/templates/roster.xml

    echo
    echo "+---------------"
    echo "| The $1 configuration files have been installed in /etc/jabberd."
    echo "| Please view this file and 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 /var/jabberd ]; then
		do_jabberddir_install
	fi
	if [ ! -d /etc/jabberd ]; then
		do_install_conf $1
	elif [ ! -f /etc/jabberd/jabberd.cfg ]; then
		do_install_conf $1
        else
		do_notice_conf $1
        fi
        ;;
    *)
        echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
        exit 1
        ;;
esac

exit 0
