#!/bin/sh #set -vx PKG_BATCH=${BATCH:=NO} PKG_PREFIX=${PKG_PREFIX:=/usr/local} CYRUS_USER=${CYRUS_USER:=%%CYRUS_USER%%} # # Modify the 'cyrus' user created from the cyrus-sasl port # modify_cyrus_user() { USER=${CYRUS_USER} 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/sasl2/Cyrus.conf ]; then echo "pwcheck_method: saslauthd" > ${PKG_PREFIX}/lib/sasl2/Cyrus.conf fi } case $2 in PRE-INSTALL) ;; POST-INSTALL) modify_cyrus_user cd ${PKG_PREFIX} cyrus_conf checkfile ${PKG_PREFIX}/etc/imapd.conf checkfile ${PKG_PREFIX}/etc/cyrus.conf 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