diff options
Diffstat (limited to 'mail/cyrus-imapd25/pkg-install')
-rw-r--r-- | mail/cyrus-imapd25/pkg-install | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/mail/cyrus-imapd25/pkg-install b/mail/cyrus-imapd25/pkg-install new file mode 100644 index 000000000000..684745f23b01 --- /dev/null +++ b/mail/cyrus-imapd25/pkg-install @@ -0,0 +1,61 @@ +#!/bin/sh + +#set -vx + +PKG_BATCH=${BATCH:=NO} +PKG_PREFIX=${PKG_PREFIX:=%%PREFIX%%} +EXAMPLESDIR=${EXAMPLESDIR:=%%EXAMPLESDIR%%} +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 + echo "*** Failed to update user \`${USER}'." + else + echo "*** Updated user \`${USER}'." + fi +} + + +checkfile() { + diff -bBqw $1 $2 >/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 $2 $1 + ;; + esac +} + +case $2 in + PRE-INSTALL) + ;; + + POST-INSTALL) + modify_cyrus_user + cd ${PKG_PREFIX} + checkfile ${PKG_PREFIX}/etc/imapd.conf ${EXAMPLESDIR}/imapd.conf + checkfile ${PKG_PREFIX}/etc/cyrus.conf ${EXAMPLESDIR}/normal.conf + if grep 'sieve' /etc/services; then + echo + else + echo + echo "** Please add an entry for the sieve protocol (4190/tcp)" + echo " to /etc/services" + echo + fi + ;; +esac |