summaryrefslogtreecommitdiffstats
path: root/mail/cyrus/pkg-install
diff options
context:
space:
mode:
authorstb <stb@FreeBSD.org>1999-05-10 02:22:58 +0000
committerstb <stb@FreeBSD.org>1999-05-10 02:22:58 +0000
commit5611b516ebb89977aa0fecd628d164fa9260dc5b (patch)
tree6fa401c84dceaf55d25d3411dc260d0d4912ccd6 /mail/cyrus/pkg-install
parent2c65cfe1e04fb960452e85fb2000d673180238ee (diff)
downloadFreeBSD-ports-5611b516ebb89977aa0fecd628d164fa9260dc5b.zip
FreeBSD-ports-5611b516ebb89977aa0fecd628d164fa9260dc5b.tar.gz
- Update to 1.5.19
- Don't overwrite pre-existing imapd.conf - Fix installation of doc files - Clean up pkg/COMMENT
Diffstat (limited to 'mail/cyrus/pkg-install')
-rw-r--r--mail/cyrus/pkg-install38
1 files changed, 36 insertions, 2 deletions
diff --git a/mail/cyrus/pkg-install b/mail/cyrus/pkg-install
index 1b0ea1d..93e91eb 100644
--- a/mail/cyrus/pkg-install
+++ b/mail/cyrus/pkg-install
@@ -27,13 +27,18 @@ create() {
gid=`pw show group cyrus 2>/dev/null | cut -d: -f3`
fi
+ if [ -x /sbin/nologin ]; then
+ shell=/sbin/nologin
+ else
+ shell=/nonexistent
+ fi
if ! pw show user cyrus -q >/dev/null; then
uid=60
while pw show user -u ${uid} -q >/dev/null; do
uid=`expr ${uid} + 1`
done
if ! pw add user cyrus -u ${uid} -g ${gid} -d "/nonexistent" \
- -c "the cyrus mail server" -s "/nonexistent" -p "*" \
+ -c "the cyrus mail server" -s "${shell}" -p "*" \
; then
e=$?
echo "*** Failed to add user \`cyrus'. Please add it manually."
@@ -42,7 +47,7 @@ create() {
echo "*** Added user \`cyrus' (id ${uid})"
else
if ! pw mod user cyrus -g ${gid} -d "/nonexistent" \
- -c "the cyrus mail server" -s "/nonexistent" -p "*" \
+ -c "the cyrus mail server" -s "${shell}" -p "*" \
; then
e=$?
echo "*** Failed to update user \`cyrus'."
@@ -55,8 +60,37 @@ create() {
fi
}
+
+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
+}
+
+
case $2 in
PRE-INSTALL)
create
;;
+
+ POST-INSTALL)
+ cd ${PKG_PREFIX}
+ 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 " An example can be found in ${PKG_PREFIX}/etc/inetd.conf.cyrus."
+ ;;
esac
OpenPOWER on IntegriCloud