#!/bin/sh
# $NetBSD: script,v 1.3 2005/01/18 18:12:55 peter Exp $

BACKUPDIR="/var/sushi"
MAILERCONF="/etc/mailer.conf"
BACKUP="${BACKUPDIR}/mailer.conf"

if [ ! -d $BACKUPDIR ]; then
	mkdir $BACKUPDIR
	chown root:wheel $BACKUPDIR
	chmod 700 $BACKUPDIR
fi

# create a backup
cp -p $MAILERCONF $BACKUP
if [ $? -ne 0 ]; then
	echo "Can't create a backup"
	exit 1
fi

if [ "$1" = "sendmail" ]; then
	sendmail=0
	grep sendmail/sendmail $MAILERCONF >/dev/null
	if [ $? -eq 0 ]; then
		grep "^#.*sendmail/sendmail" $MAILERCONF >/dev/null
		if [ $? -ne 0 ]; then
			sendmail=1
		fi
	fi

	if [ $sendmail -eq 1 ]; then
		echo "Sendmail is already your default mailer."
		exit 0
	fi
	echo "sendmail		/usr/libexec/sendmail/sendmail" >$MAILERCONF
	echo "send-mail		/usr/libexec/sendmail/sendmail" >>$MAILERCONF
	echo "mailq		/usr/libexec/sendmail/sendmail" >>$MAILERCONF
	echo "newaliases	/usr/libexec/sendmail/sendmail" >>$MAILERCONF
	echo "hoststat		/usr/libexec/sendmail/sendmail" >>$MAILERCONF
	echo "purgestat		/usr/libexec/sendmail/sendmail" >>$MAILERCONF
	chown root:wheel $MAILERCONF
	chmod 644 $MAILERCONF
	echo "Sendmail has now been made your default mailer."
	exit 0
fi

if [ "$1" = "postfix" ]; then
	postfix=0
	grep postfix/sendmail $MAILERCONF >/dev/null
	if [ $? -eq 0 ]; then
		grep "^#.*postfix/sendmail" $MAILERCONF >/dev/null
		if [ $? -ne 0 ]; then
			postfix=1
		fi
	fi

	if [ $postfix -eq 1 ]; then
		echo "Postfix is already your default mailer."
		exit 0
	fi
	echo "sendmail		/usr/libexec/postfix/sendmail" >$MAILERCONF
	echo "send-mail		/usr/libexec/postfix/sendmail" >>$MAILERCONF
	echo "mailq		/usr/libexec/postfix/sendmail" >>$MAILERCONF
	echo "newaliases	/usr/libexec/postfix/sendmail" >>$MAILERCONF
	chown root:wheel $MAILERCONF
	chmod 644 $MAILERCONF
	echo "Postfix has now been made your default mailer."
	exit 0
fi

if [ "$1" = "exim" ]; then
	PKGNM=`pkg_info -e exim`
	LOCALBASE=`pkg_info -p $PKGNM | grep CWD | sed -e 's@.*CWD to: @@'`
	cp $LOCALBASE/etc/exim/mailer.conf.exim $MAILERCONF
	chown root:wheel $MAILERCONF
	chmod 644 $MAILERCONF
	echo "$PKGNM has now been made your default mailer."
	exit 0
fi

if [ "$1" = "postfix-current" ]; then
	PKGNM=`pkg_info -e postfix-current`
	LOCALBASE=`pkg_info -p $PKGNM | grep CWD | sed -e 's@.*CWD to: @@'`
	cp $LOCALBASE/etc/mailer.conf.postfix $MAILERCONF
	chown root:wheel $MAILERCONF
	chmod 644 $MAILERCONF
	echo "$PKGNM has now been made your default mailer."
	exit 0
fi

if [ "$1" = "sendmail88" ]; then
	PKGNM=`pkg_info -e sendmail88`
	LOCALBASE=`pkg_info -p $PKGNM | grep CWD | sed -e 's@.*CWD to: @@'`
	cp $LOCALBASE/etc/mailer.conf.sendmail $MAILERCONF
	chown root:wheel $MAILERCONF
	chmod 644 $MAILERCONF
	echo "$PKGNM has now been made your default mailer."
	exit 0
fi
