#!/bin/sh # # $FreeBSD$ # # Created by: hetzels@westbend.net #set -vx PKG_BATCH=${BATCH:=NO} PKG_PREFIX=${PKG_PREFIX:=/usr/local} CYRUS_USER=${CYRUS_USER:=%%CYRUS_USER%%} checkfile() { diff -bBqw $1 $1.dist >/dev/null 2>&1 case $? in 0) # config file exists, but is the same rm $1 ;; 1) # config file exists and differs ;; *) # no config file exists ;; esac } # # Modify the 'cyrus' user created from the cyrus-sasl port # modify_cyrus_user() { USER=${CYRUS_USER} PW=/usr/sbin/pw if [ -x /usr/sbin/nologin ]; then shell=/usr/sbin/nologin elif [ -x /sbin/nologin ]; then shell=/sbin/nologin else shell=/nonexistent fi uhome=/nonexistent if ! ${PW} mod user ${USER} -d "${uhome}" -s "${shell}"; then e=$? echo "*** Failed to update user \`${USER}'." exit ${e} fi echo "*** Updated user \`${USER}'." } case $2 in DEINSTALL) cd ${PKG_PREFIX} checkfile ${PKG_PREIFX}/etc/imapd.conf checkfile ${PKG_PREIFX}/etc/cyrus.conf ;; POST-DEINSTALL) modify_cyrus_user ;; esac