#! /bin/sh
# $OpenBSD: INSTALL,v 1.7 2004/06/24 03:33:15 brad Exp $
#
# Pre/post-installation setup of majordomo

set -e
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PREFIX=${PKG_PREFIX:-/usr/local}
CONFIGDIR=${SYSCONFDIR}/majordomo

do_create_user()
{
  echo "Majordomo requires a user _majordomo for its wrapper program."
  echo -n "Let's see if there already is a user majordomo... "
  if id -u _majordomo >/dev/null 2>/dev/null
  then
    echo "yes"
  else
    echo "no"
    group add -g 520 _majordomo
    user add -d /root -g _majordomo -c Majordomo -s /sbin/nologin -u 520 _majordomo 
  fi
}

do_create_local_dirs()
{
  echo -n "Creating local directories... "
  if [ ! -d /var/spool/majordomo ]; then
    mkdir /var/spool/majordomo
    chmod 755 /var/spool/majordomo
  fi
  if [ ! -d /var/spool/majordomo/lists ]; then
    mkdir /var/spool/majordomo/lists
    chmod 750 /var/spool/majordomo/lists
  fi
  if [ ! -d /var/spool/majordomo/digests ]; then
    mkdir /var/spool/majordomo/digests
    chmod 750 /var/spool/majordomo/digests
  fi
  if [ ! -d /var/spool/majordomo/tmp ]; then
    mkdir /var/spool/majordomo/tmp
    chmod 750 /var/spool/majordomo/tmp
  fi
  chown -R _majordomo:_majordomo /var/spool/majordomo
  echo "ok"
}

do_set_file_permissions()
{
  echo -n "Changing ownership of majordomo files... "
  chown -R _majordomo:_majordomo ${PREFIX}/lib/majordomo
  chmod -R 755 ${PREFIX}/lib/majordomo
  echo "ok"
  echo -n "Making wrapper suid & guid _majordomo... "
  chmod 6550 ${PREFIX}/lib/majordomo/wrapper
  echo "ok"
}

do_install_configuration()
{
  echo -n "Let's see if there is already a configuration file... "
  if [ -d ${CONFIGDIR} -a -f ${CONFIGDIR}/majordomo.cf ]; then
    echo "yes"
    echo "Please compare your existing configuration with"
    echo "${PREFIX}/lib/majordomo/sample.cf"
  else
    echo "no"
    echo -n "Copying sample configuration file... "
    mkdir ${CONFIGDIR}
    chmod 755 ${CONFIGDIR}
    sed -e "s/example.com/$(hostname)/" ${PREFIX}/lib/majordomo/sample.cf > ${CONFIGDIR}/majordomo.cf
    echo "ok"
    echo "Please review new configuration ${CONFIGDIR}/majordomo.cf"
  fi
}

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

case $2 in
    PRE-INSTALL)
	do_create_user
	;;
    POST-INSTALL)
	do_create_local_dirs
	do_set_file_permissions
	do_install_configuration
	cat ${PREFIX}/share/doc/majordomo/post-install-notes
	;;
    *)
	echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
	exit 1
	;;
esac

exit 0
