aboutsummaryrefslogtreecommitdiffstats
path: root/mail/dovecot2
diff options
context:
space:
mode:
authorcrees <crees@FreeBSD.org>2011-07-06 00:35:02 +0800
committercrees <crees@FreeBSD.org>2011-07-06 00:35:02 +0800
commitb7c8bd13f9e56fa435070a10661c7f793dc9047b (patch)
tree01c475e0f63fe18c4f2a73c69922c1ca4195432b /mail/dovecot2
parentd5ad39a3e99f6bb925a4477cc60cf8988be16447 (diff)
downloadfreebsd-ports-gnome-b7c8bd13f9e56fa435070a10661c7f793dc9047b.tar.gz
freebsd-ports-gnome-b7c8bd13f9e56fa435070a10661c7f793dc9047b.tar.zst
freebsd-ports-gnome-b7c8bd13f9e56fa435070a10661c7f793dc9047b.zip
- Use USERS and GROUPS
- Use @stopdaemon PR: ports/157606 Approved by: rene (mentor, implicit), Attila Nagy <bra@fsn.hu> (maintainer)
Diffstat (limited to 'mail/dovecot2')
-rw-r--r--mail/dovecot2/Makefile14
-rw-r--r--mail/dovecot2/files/pkg-deinstall.in59
-rw-r--r--mail/dovecot2/files/pkg-install.in93
-rw-r--r--mail/dovecot2/pkg-plist1
4 files changed, 7 insertions, 160 deletions
diff --git a/mail/dovecot2/Makefile b/mail/dovecot2/Makefile
index 073f149f0825..b76ec9a9c700 100644
--- a/mail/dovecot2/Makefile
+++ b/mail/dovecot2/Makefile
@@ -51,10 +51,8 @@ PORTDOCS= *
PORTEXAMPLES= *
.endif
-DOVECOT_UID?= 143
-DOVECOT_GID?= 143
-DOVENULL_UID?= 144
-DOVENULL_GID?= 144
+USERS= ${PORTNAME} dovenull
+GROUPS= ${USERS}
PROTOCOLS= imap pop3
@@ -159,8 +157,8 @@ CONFIGURE_ARGS+=--without-sqlite
PLIST_SUB+= SQL="@comment "
.endif
-SUB_LIST= REQUIRE="${_REQUIRE}" DOVECOT_UID=${DOVECOT_UID} DOVECOT_GID=${DOVECOT_GID} DOVENULL_UID=${DOVENULL_UID} DOVENULL_GID=${DOVENULL_GID}
-SUB_FILES= pkg-install pkg-deinstall pkg-message
+SUB_LIST= REQUIRE="${_REQUIRE}"
+SUB_FILES= pkg-deinstall pkg-message
MAN1= deliver.1 \
doveadm-altmove.1 \
@@ -205,9 +203,6 @@ post-patch:
' ${WRKSRC}/src/auth/mech-gssapi.c ${WRKSRC}/configure
.endif
-pre-su-install:
- @${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
-
post-install:
.if !defined(NOPORTEXAMPLES)
@${MKDIR} ${EXAMPLESDIR}
@@ -216,7 +211,6 @@ post-install:
.if !defined(NOPORTDOCS)
cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
.endif
- @${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
diff --git a/mail/dovecot2/files/pkg-deinstall.in b/mail/dovecot2/files/pkg-deinstall.in
index 6f7cc06b63df..3ef5dd4d7400 100644
--- a/mail/dovecot2/files/pkg-deinstall.in
+++ b/mail/dovecot2/files/pkg-deinstall.in
@@ -1,65 +1,10 @@
#! /bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/mail/dovecot2/files/pkg-deinstall.in,v 1.1 2010-11-27 05:53:35 glewis Exp $
+# $FreeBSD: /tmp/pcvs/ports/mail/dovecot2/files/pkg-deinstall.in,v 1.2 2011-07-05 16:35:02 crees Exp $
#
-PKG_PREFIX=${PKG_PREFIX:=/usr/local}
-
-ask() {
- local question default answer
-
- question=$1
- default=$2
- if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
- read -p "${question} [${default}]? " answer
- fi
- echo ${answer:-${default}}
-}
-
-yesno() {
- local question default answer
-
- question=$1
- default=$2
- while :; do
- answer=$(ask "${question}" "${default}")
- case "${answer}" in
- [Yy]*) return 0;;
- [Nn]*) return 1;;
- esac
- echo "Please answer yes or no."
- done
-}
-
-delete_account() {
- local port user uid group gid
-
- port=$1
- user=${2%:*}
- uid=${2#*:}
- group=${3%:*}
- gid=${3#*:}
-
- echo "If you do not intend to reinstall ${port}, you should manually"
- echo "remove user '${user}' (uid='${uid}') and group '${group}' (gid='${gid}')."
-}
-
case $2 in
-
DEINSTALL)
- if ps -axc | grep -qw dovecot; then
- if yesno "Dovecot is still running. Shall I stop it?" y; then
- ${PKG_PREFIX}/etc/rc.d/dovecot stop
- sleep 2
- else
- echo "OK ... I hope you know what you are doing."
- fi
- fi
-
- delete_account Dovecot dovecot:${DOVECOT_UID:-%%DOVECOT_UID%%} dovecot:${DOVECOT_GID:-%%DOVECOT_GID%%}
- delete_account Dovecot dovenull:${DOVENULL_UID:-%%DOVENULL_UID%%} dovenull:${DOVENULL_GID:-%%DOVENULL_GID%%}
-
- echo "Also manually 'rm -rf /var/db/dovecot' if anything was stored there."
+ echo "If you don't intend on reinstalling this port you should manually 'rm -rf /var/db/dovecot' if anything was stored there."
;;
-
esac
diff --git a/mail/dovecot2/files/pkg-install.in b/mail/dovecot2/files/pkg-install.in
deleted file mode 100644
index 28ee06db8662..000000000000
--- a/mail/dovecot2/files/pkg-install.in
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD: /tmp/pcvs/ports/mail/dovecot2/files/Attic/pkg-install.in,v 1.1 2010-11-27 05:53:35 glewis Exp $
-#
-
-PKG_PREFIX=${PKG_PREFIX:=/usr/local}
-
-ask() {
- local question default answer
-
- question=$1
- default=$2
- if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
- read -p "${question} [${default}]? " answer
- fi
- echo ${answer:-${default}}
-}
-
-yesno() {
- local question default answer
-
- question=$1
- default=$2
- while :; do
- answer=$(ask "${question}" "${default}")
- case "${answer}" in
- [Yy]*) return 0;;
- [Nn]*) return 1;;
- esac
- echo "Please answer yes or no."
- done
-}
-
-create_account() {
- local port user uid group gid gcos home shell
-
- port=$1
- user=${2%:*}
- uid=${2#*:}
- group=${3%:*}
- gid=${3#*:}
- gcos=$4
- home=$5
- shell=$6
-
- pw_user_uid=$(pw usershow -n "${user}" 2>/dev/null | cut -d: -f3)
- pw_uid_user=$(pw usershow -u "${uid}" 2>/dev/null | cut -d: -f1)
- pw_group_gid=$(pw groupshow -n "${group}" 2>/dev/null | cut -d: -f3)
- pw_gid_group=$(pw groupshow -g "${gid}" 2>/dev/null | cut -d: -f1)
-
- if [ -z "${pw_group_gid}" -a -z "${pw_gid_group}" ]; then
- echo "You need a ${group} group; creating it..."
- pw groupadd "${group}" -g "${gid}" || exit
- echo "Done."
- elif [ "${gid}" = "${pw_group_gid}" -a "${group}" = "${pw_gid_group}" ]; then
- echo "Using existing ${group} group."
- else
- echo "${port} has reserved the groupname '${group}' and gid '${gid}':"
- [ -n "${pw_group_gid}" -a "${gid}" != "${pw_group_gid}" ] \
- && echo "ERROR: groupname '${group}' already in use by gid '${pw_group_gid}'"
- [ -n "${pw_gid_group}" -a "${group}" != "${pw_gid_group}" ] \
- && echo "ERROR: gid '${gid}' already in use by group '${pw_gid_group}'"
- echo "Please resolve these issues and try again:"
- echo "Either remove the conflicting group or if you wish to continue using a legacy group override DOVECOT_GID."
- exit 1
- fi
-
- if [ -z "${pw_user_uid}" -a -z "${pw_uid_user}" ]; then
- echo "You need a ${user} user; creating it..."
- pw useradd "${user}" -u "${uid}" -g "${group}" -c "${gcos}" -d "${home}" -s "${shell}"
- echo "Done."
- elif [ "${uid}" = "${pw_user_uid}" -a "${user}" = "${pw_uid_user}" ]; then
- echo "Using existing ${user} user."
- else
- echo "${port} has reserved the username '${user}' and uid '${uid}':"
- [ -n "${pw_user_uid}" -a "${uid}" != "${pw_user_uid}" ] \
- && echo "ERROR: username '${user}' already in use by uid '${pw_user_uid}'"
- [ -n "${pw_uid_user}" -a "${user}" != "${pw_uid_user}" ] \
- && echo "ERROR: uid '${uid}' already in use by user '${pw_uid_user}'"
- echo "Please resolve these issues and try again:"
- echo "Either remove the conflicting user or if you wish to continue using a legacy user override DOVECOT_UID."
- exit 1
- fi
-}
-
-case $2 in
-
-PRE-INSTALL)
- create_account Dovecot dovecot:${DOVECOT_UID:-%%DOVECOT_UID%%} dovecot:${DOVECOT_GID:-%%DOVECOT_GID%%} "Dovecot User" /var/empty /usr/sbin/nologin
- create_account Dovecot dovenull:${DOVENULL_UID:-%%DOVENULL_UID%%} dovenull:${DOVENULL_GID:-%%DOVENULL_GID%%} "Dovecot login User" /var/empty /usr/sbin/nologin
- ;;
-
-esac
diff --git a/mail/dovecot2/pkg-plist b/mail/dovecot2/pkg-plist
index fdb22b354b4d..2c7d0458af5b 100644
--- a/mail/dovecot2/pkg-plist
+++ b/mail/dovecot2/pkg-plist
@@ -1,3 +1,4 @@
+@stopdaemon dovecot
bin/doveadm
bin/doveconf
bin/dsync