aboutsummaryrefslogtreecommitdiff
path: root/security/cyrus-sasl/pkg-install
diff options
context:
space:
mode:
authorSteve Price <steve@FreeBSD.org>2000-01-24 05:22:22 +0000
committerSteve Price <steve@FreeBSD.org>2000-01-24 05:22:22 +0000
commitb901a9df679c70a345a12e673c67a68785730fc0 (patch)
tree1a717e1dc04b240ad8bd5ff42de629200fed8fd2 /security/cyrus-sasl/pkg-install
parentcece4cac83a51884228bf4f4d3ff7e6ef26707d1 (diff)
downloadports-b901a9df679c70a345a12e673c67a68785730fc0.tar.gz
ports-b901a9df679c70a345a12e673c67a68785730fc0.zip
Notes
Diffstat (limited to 'security/cyrus-sasl/pkg-install')
-rw-r--r--security/cyrus-sasl/pkg-install73
1 files changed, 73 insertions, 0 deletions
diff --git a/security/cyrus-sasl/pkg-install b/security/cyrus-sasl/pkg-install
new file mode 100644
index 000000000000..d008d0c8ac5a
--- /dev/null
+++ b/security/cyrus-sasl/pkg-install
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# Created by: stb@FreeBSD.org for the cyrus imap server
+# Added to the cyrus-sasl port by hetzel@westbend.net
+
+#set -vx
+
+#
+# create 'cyrus' user and group before installing
+#
+
+create() {
+ if [ ! -x /usr/sbin/pw ]; then
+ echo "*** Please add a user and a group named \`cyrus' before installing this package."
+ exit 69
+ fi
+
+ if ! pw show group cyrus -q >/dev/null; then
+ gid=60
+ while pw show group -g ${gid} -q >/dev/null; do
+ gid=`expr ${gid} + 1`
+ done
+ if ! pw add group cyrus -g ${gid}; then
+ e=$?
+ echo "*** Failed to add group \`cyrus'. Please add it manually."
+ exit ${e}
+ fi
+ echo "*** Added group \`cyrus' (id ${gid})"
+ else
+ 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 "${shell}" -p "*" \
+ ; then
+ e=$?
+ echo "*** Failed to add user \`cyrus'. Please add it manually."
+ exit ${e}
+ fi
+ echo "*** Added user \`cyrus' (id ${uid})"
+ else
+ if ! pw mod user cyrus -g ${gid} -d "/nonexistent" \
+ -c "the cyrus mail server" -s "${shell}" -p "*" \
+ ; then
+ e=$?
+ echo "*** Failed to update user \`cyrus'."
+ exit ${e}
+ fi
+ echo "*** Updated user \`cyrus'."
+ fi
+ if ! pw group mod cyrus -m daemon; then
+ echo "*** can't add user \`daemon' to group \`cyrus'"
+ fi
+}
+
+case $2 in
+ PRE-INSTALL)
+ create
+ ;;
+
+esac