#!/bin/sh #set -vx PKG_BATCH=${BATCH:=NO} PKG_PREFIX=${PKG_PREFIX:=/usr/local} # # Modify the 'cyrus' user created from the cyrus-sasl port # modify_cyrus_user() { USER=cyrus PW=/usr/sbin/pw shell=/bin/csh uhome=${PKG_PREFIX}/cyrus if ! ${PW} mod user ${USER} -d "${uhome}" -s "${shell}" \ ; then e=$? echo "*** Failed to update user \`${USER}'." exit ${e} fi echo "*** Updated user \`${USER}'." } checkfile() { diff -bBqw $1 $1.dist >/dev/null 2>&1 case $? in 0) # config file exists, but is the same ;; 1) # config file exists and differs echo "** Make sure $1 is in sync with this version"; echo " of the port. See $1.dist for details."; ;; *) # no config file exists, copy it install -c -m 644 $1.dist $1 ;; esac } # Install timseived's Cyrus.conf file cyrus_conf() { if [ ! -f ${PKG_PREFIX}/lib/sasl/Cyrus.conf ]; then echo "pwcheck_method: pwcheck" > ${PKG_PREFIX}/lib/sasl/Cyrus.conf fi } case $2 in PRE-INSTALL) ;; POST-INSTALL) modify_cyrus_user cd ${PKG_PREFIX} cyrus_conf checkfile ${PKG_PREFIX}/etc/imapd.conf if grep '^imap4' /etc/inetd.conf; then echo "** Please check that your /etc/inetd.conf entry for \`imap4'" echo " is suitable for the Cyrus IMAP server." else echo "** Please add an entry for the imap4 protocol to /etc/inetd.conf." fi echo if grep '^sieve' /etc/inetd.conf; then echo "** Please check that your /etc/inetd.conf entry for \`sieve'" echo " is suitable for the Cyrus timsieved daemon" else echo "** Please add an entry for timseived to /etc/inetd.conf." echo " If you wish to have user's upload their sieve filter" echo " scripts to the server." fi echo echo " An example can be found in ${PKG_PREFIX}/etc/inetd.conf.cyrus." if grep 'sieve' /etc/services; then echo else echo echo "** Please add an entry for the sieve protocol (2000/tcp)" echo " to /etc/services" echo fi ;; esac