aboutsummaryrefslogtreecommitdiff
path: root/mail/cyrus-imapd25/files/pkg-install.in
diff options
context:
space:
mode:
Diffstat (limited to 'mail/cyrus-imapd25/files/pkg-install.in')
-rw-r--r--mail/cyrus-imapd25/files/pkg-install.in61
1 files changed, 61 insertions, 0 deletions
diff --git a/mail/cyrus-imapd25/files/pkg-install.in b/mail/cyrus-imapd25/files/pkg-install.in
new file mode 100644
index 000000000000..684745f23b01
--- /dev/null
+++ b/mail/cyrus-imapd25/files/pkg-install.in
@@ -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