#!/bin/sh
# $OpenBSD: INSTALL,v 1.3 2003/06/27 17:18:01 sturm Exp $
#
# Pre/post-installation setup of Bitlbee

PATH=/bin:/usr/bin:/sbin:/usr/sbin
PREFIX=${PKG_PREFIX:-/usr/local}
DB_DIR=/var/bitlbee
BITLBEEUSER=_bitlbee
BITLBEEGROUP=_bitlbee
ID=509

do_notice_existingdir() {
    echo << EOF

+---------------"
| You appear to already have a Bitlbee-settings dir in $DB_DIR
|
| This directory has been preserved. If you want to start from
| from the default, you have to perform this step as root:
|
| # rm -rf $DB_DIR/*
|
+---------------

EOF
}

do_usergroup_install() {
    # Create bitlbee user and group
    if groupinfo -e $BITLBEEGROUP; then
	echo "===> Using $BITLBEEGROUP group for bitlbee"
    else
	echo "===> Creating $BITLBEEGROUP group for bitlbee"
	groupadd -g $ID $BITLBEEGROUP
    fi

    if userinfo -e $BITLBEEUSER; then
	echo "===> Using $BITLBEEUSER user for bitlbee"
    else
	echo "===> Creating $BITLBEEUSER user for bitlbee"
	useradd -g $BITLBEEGROUP \
		-d /nonexistent \
		-L daemon \
		-c 'Bitlbee Account' \
		-s /sbin/nologin \
		-u $ID \
		$BITLBEEUSER \
		    2>&1| grep nonexistant >&2
    fi
}

do_database_install() {
    install -m 0770 -d -o ${BITLBEEUSER} -g ${BITLBEEGROUP} /var/bitlbee
}

do_manual_notice() {
    cat << EOF

To enable bitlbee you have to add a line like:

    127.0.0.1:6667    stream  tcp     nowait ${BITLBEEUSER} /usr/local/libexec/bitlbee bitlbee

to your /etc/inetd.conf and restart inetd with

    # kill -HUP \`cat /var/run/inetd.pid\`


EOF
}

do_warning() {
    cat << EOF
+---------------
| WARNING!
|
| This port has changed the user/group it uses from bitlbee to ${BITLBEEUSER}.
| If you installed this port before, ensure all permissions are set correctly
| with:
|
|   # ls -ld /var/bitlbee
|   # chown -R ${BITLBEEUSER}:${BITLBEEGROUP} /var/bitlbee
|
| And don't forget to remove the old user/group.
+---------------
EOF
}
# Verify/process the command
#
case $2 in
    PRE-INSTALL)
	if [ -d $DB_DIR ]; then
	    do_notice_existingdir $1
	fi
	do_usergroup_install
	;;
    POST-INSTALL)
	if [ ! -d $DB_DIR ]; then
	    do_database_install
	fi
	do_manual_notice
	do_warning
	;;
    *)
	echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
	exit 1
	;;
esac

exit 0
