openbsd-ports/mail/postfix/stable/pkg/INSTALL
brad 5ef8e3ce29 - upgrade IPv6 patch to rev 1.26
- move user/group creation into PLIST
- move DEINSTALL stuff into PLIST
2005-02-21 00:42:22 +00:00

147 lines
4.0 KiB
Plaintext

#!/bin/sh
# $OpenBSD: INSTALL,v 1.14 2005/02/21 00:42:22 brad Exp $
#
# Pre/post-installation setup of postfix
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PREFIX=${PKG_PREFIX:-/usr/local}
CONFIG_DIR=${SYSCONFDIR}/postfix
SAMPLE_CONFIG_DIR=${PREFIX}/share/examples/postfix
SPOOL_DIR=/var/spool/postfix
# Function: set up the postfix spool dir / chroot area
#
do_spooldir()
{
echo "-> Creating Postfix spool directory and chroot area under $SPOOL_DIR"
[ -d $SPOOL_DIR ] || install -d -o root -g wheel -m 755 $SPOOL_DIR
[ -d $SPOOL_DIR/etc ] || install -d -o root -g wheel -m 755 $SPOOL_DIR/etc
[ -d $SPOOL_DIR/dev ] || install -d -o root -g wheel -m 755 $SPOOL_DIR/dev
for file in localtime services resolv.conf ; do
install -o root -g wheel -m 644 /etc/$file $SPOOL_DIR/etc
done
}
# Function: replace sendmail binaries with postfix
#
do_mailwrapper()
{
echo "-> Creating /etc/mailer.conf.postfix"
cat <<MAILER >/tmp/mailer.conf.$$
sendmail y0y0y0/sbin/sendmail
send-mail y0y0y0/sbin/sendmail
mailq y0y0y0/sbin/sendmail
newaliases y0y0y0/sbin/sendmail
MAILER
sed "s@y0y0y0@$PREFIX@g" /tmp/mailer.conf.$$ >/etc/mailer.conf.postfix
rm -f /tmp/mailer.conf.$$
chown root:wheel /etc/mailer.conf.postfix
chmod 644 /etc/mailer.conf.postfix
}
# Function: update postfix scripts
#
update_scripts()
{
rm -f $CONFIG_DIR/{postfix-script,postfix-files,post-install}
install -o root -g wheel -m 544 \
$SAMPLE_CONFIG_DIR/{postfix-script,post-install} $CONFIG_DIR
install -o root -g wheel -m 444 \
$SAMPLE_CONFIG_DIR/postfix-files $CONFIG_DIR
}
# Function: install the postfix configuration files from the samples
#
do_configs()
{
PINSTALL="${CONFIG_DIR}/post-install command_directory=${PREFIX}/sbin"
if [ -d $CONFIG_DIR ]; then
update_scripts
echo ""
$PINSTALL upgrade-configuration
echo ""
echo "+---------------"
echo "| The existing configuration files in $CONFIG_DIR has been preserved."
echo "| You may want to compare them to the current sample files,"
echo "| $SAMPLE_CONFIG_DIR, and update your configuration as needed."
echo "|"
echo "| $CONFIG_DIR/post{fix-{script,files},-install} has been updated."
echo "+---------------"
echo ""
else
install -d -o root -g wheel -m 755 $CONFIG_DIR
install -o root -g wheel -m 644 $SAMPLE_CONFIG_DIR/* $CONFIG_DIR
update_scripts
$PINSTALL first-install-reminder
echo "+---------------"
echo "| Configuration files has been installed in $CONFIG_DIR."
echo "| Please update these files to meet your needs."
echo "+---------------"
fi
$PINSTALL set-permissions create-missing
grep syslogd_flags /etc/rc.conf{,.local} 2>/dev/null | grep -q postfix
if [ $? -eq 1 ]; then
echo ""
echo "+---------------"
echo "| Don't forget to add \"-a /var/spool/postfix/dev/log\" to syslogd_flags"
echo "| in /etc/rc.conf.local (or /etc/rc.conf) and restart syslogd."
echo "+---------------"
echo ""
fi
}
# Function: tell the user what s/he needs to do to use the port just installed
#
do_notice()
{
echo "+---------------"
echo "| Postfix can be set up to replace sendmail entirely. Please read the"
echo "| documentation at file:$PREFIX/share/doc/postfix/html/index.html or"
echo "| http://www.postfix.org/ carefully before you decide to do this!"
echo "|"
echo "| To replace sendmail with postfix you have to install a new mailer.conf"
echo "| using the following command:"
echo "|"
echo "| $PREFIX/sbin/postfix-enable"
echo "|"
echo "| If you want to restore sendmail, this is done using the following command:"
echo "|"
echo "| $PREFIX/sbin/postfix-disable"
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)
;;
POST-INSTALL)
do_mailwrapper
do_spooldir
do_configs $1
do_notice
;;
*)
echo "Usage: `basename $0` distname <PRE-INSTALL|POST-INSTALL>" >&2
exit 1
;;
esac
exit 0