- Update to 1.0 rc15

- Use UID/GID 143

PR:		ports/105899
Submitted by:	Robin Breathe <robin@isometry.net> (maintainer)
This commit is contained in:
Pav Lucistnik 2006-12-01 09:39:34 +00:00
parent 97571ba647
commit a0666a76a0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=178443
8 changed files with 112 additions and 80 deletions

View file

@ -7,7 +7,7 @@
# #
PORTNAME= dovecot PORTNAME= dovecot
DISTVERSION= 1.0.rc13 DISTVERSION= 1.0.rc15
CATEGORIES= mail ipv6 CATEGORIES= mail ipv6
MASTER_SITES= http://www.dovecot.org/releases/ MASTER_SITES= http://www.dovecot.org/releases/

View file

@ -1,3 +1,3 @@
MD5 (dovecot-1.0.rc13.tar.gz) = 47e86f3ee779e805ffca7b923dc50b19 MD5 (dovecot-1.0.rc15.tar.gz) = 26f3d2b075856b1b1d180146363819e6
SHA256 (dovecot-1.0.rc13.tar.gz) = a653939eae55a6ddea7c97e6ddfcdafdfcbdb56727640d61761fc9bbfca62834 SHA256 (dovecot-1.0.rc15.tar.gz) = e1e42e5c808301c5a709d54c5949cd8c1d3c43861e4e918548ded5841865487f
SIZE (dovecot-1.0.rc13.tar.gz) = 1459922 SIZE (dovecot-1.0.rc15.tar.gz) = 1463069

View file

@ -29,13 +29,15 @@ yesno() {
} }
delete_account() { delete_account() {
local u local port user uid group gid
u=$1 port=$1
if yesno "Do you want me to remove user \"${u}\"" n; then user=${2%:*}
pw userdel -n ${u} uid=${2#*:}
echo "Done." group=${3%:*}
fi gid=${3#*:}
echo "If you do not intend to reinstall ${port}, you should manually remove the user '${user}' (uid='${uid}') and the group '${group}' (gid='${gid}')."
} }
case $2 in case $2 in
@ -50,7 +52,7 @@ DEINSTALL)
fi fi
fi fi
delete_account dovecot delete_account Dovecot dovecot:143 dovecot:143
base=/var/run/dovecot base=/var/run/dovecot
DIRLIST="${base}/login ${base}" DIRLIST="${base}/login ${base}"

View file

@ -30,46 +30,60 @@ yesno() {
done done
} }
make_account() { create_account() {
local u g gcos local port user uid group gid gcos home shell
u=$1 port=$1
g=$2 user=${2%:*}
gcos=$3 uid=${2#*:}
group=${3%:*}
gid=${3#*:}
gcos=$4
home=$5
shell=$6
if pw group show "${g}" >/dev/null 2>&1; then pw_user_uid=$(pw usershow -n "${user}" 2>/dev/null | cut -d: -f3)
echo "You already have a group \"${g}\", so I will use it." 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 else
echo "You need a group \"${g}\"." echo "${port} has reserved the groupname '${group}' and gid '${gid}':"
if which -s pw && yesno "Would you like me to create it" y [ -n "${pw_group_gid}" -a "${gid}" != "${pw_group_gid}" ] \
then && echo "ERROR: groupname '${group}' already in use by gid '${pw_group_gid}'"
pw groupadd ${g} || exit [ -n "${pw_gid_group}" -a "${group}" != "${pw_gid_group}" ] \
echo "Done." && echo "ERROR: gid '${gid}' already in use by group '${pw_gid_group}'"
else echo "Please resolve these issues and try again."
echo "Please create it, and try again." exit 1
exit 1
fi
fi fi
if pw user show "${u}" >/dev/null 2>&1; then if [ -z "${pw_user_uid}" -a -z "${pw_uid_user}" ]; then
echo "You already have a user \"${u}\", so I will use it." 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 else
echo "You need a user \"${u}\"." echo "${port} has reserved the username '${user}' and uid '${uid}':"
if which -s pw && yesno "Would you like me to create it" y [ -n "${pw_user_uid}" -a "${uid}" != "${pw_user_uid}" ] \
then && echo "ERROR: username '${user}' already in use by uid '${pw_user_uid}'"
pw useradd ${u} -g ${g} -c "${gcos}" -d /nonexistent -s /sbin/nologin -h - || exit [ -n "${pw_uid_user}" -a "${user}" != "${pw_uid_user}" ] \
echo "Done." && echo "ERROR: uid '${uid}' already in use by user '${pw_uid_user}'"
else echo "Please resolve these issues and try again."
echo "Please create it, and try again." exit 1
exit 1
fi
fi fi
} }
case $2 in case $2 in
PRE-INSTALL) PRE-INSTALL)
make_account dovecot dovecot "Dovecot" create_account Dovecot dovecot:143 dovecot:143 "Dovecot User" /var/empty /sbin/nologin
;; ;;
POST-INSTALL) POST-INSTALL)

View file

@ -7,7 +7,7 @@
# #
PORTNAME= dovecot PORTNAME= dovecot
DISTVERSION= 1.0.rc13 DISTVERSION= 1.0.rc15
CATEGORIES= mail ipv6 CATEGORIES= mail ipv6
MASTER_SITES= http://www.dovecot.org/releases/ MASTER_SITES= http://www.dovecot.org/releases/

View file

@ -1,3 +1,3 @@
MD5 (dovecot-1.0.rc13.tar.gz) = 47e86f3ee779e805ffca7b923dc50b19 MD5 (dovecot-1.0.rc15.tar.gz) = 26f3d2b075856b1b1d180146363819e6
SHA256 (dovecot-1.0.rc13.tar.gz) = a653939eae55a6ddea7c97e6ddfcdafdfcbdb56727640d61761fc9bbfca62834 SHA256 (dovecot-1.0.rc15.tar.gz) = e1e42e5c808301c5a709d54c5949cd8c1d3c43861e4e918548ded5841865487f
SIZE (dovecot-1.0.rc13.tar.gz) = 1459922 SIZE (dovecot-1.0.rc15.tar.gz) = 1463069

View file

@ -29,13 +29,15 @@ yesno() {
} }
delete_account() { delete_account() {
local u local port user uid group gid
u=$1 port=$1
if yesno "Do you want me to remove user \"${u}\"" n; then user=${2%:*}
pw userdel -n ${u} uid=${2#*:}
echo "Done." group=${3%:*}
fi gid=${3#*:}
echo "If you do not intend to reinstall ${port}, you should manually remove the user '${user}' (uid='${uid}') and the group '${group}' (gid='${gid}')."
} }
case $2 in case $2 in
@ -50,7 +52,7 @@ DEINSTALL)
fi fi
fi fi
delete_account dovecot delete_account Dovecot dovecot:143 dovecot:143
base=/var/run/dovecot base=/var/run/dovecot
DIRLIST="${base}/login ${base}" DIRLIST="${base}/login ${base}"

View file

@ -30,46 +30,60 @@ yesno() {
done done
} }
make_account() { create_account() {
local u g gcos local port user uid group gid gcos home shell
u=$1 port=$1
g=$2 user=${2%:*}
gcos=$3 uid=${2#*:}
group=${3%:*}
gid=${3#*:}
gcos=$4
home=$5
shell=$6
if pw group show "${g}" >/dev/null 2>&1; then pw_user_uid=$(pw usershow -n "${user}" 2>/dev/null | cut -d: -f3)
echo "You already have a group \"${g}\", so I will use it." 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 else
echo "You need a group \"${g}\"." echo "${port} has reserved the groupname '${group}' and gid '${gid}':"
if which -s pw && yesno "Would you like me to create it" y [ -n "${pw_group_gid}" -a "${gid}" != "${pw_group_gid}" ] \
then && echo "ERROR: groupname '${group}' already in use by gid '${pw_group_gid}'"
pw groupadd ${g} || exit [ -n "${pw_gid_group}" -a "${group}" != "${pw_gid_group}" ] \
echo "Done." && echo "ERROR: gid '${gid}' already in use by group '${pw_gid_group}'"
else echo "Please resolve these issues and try again."
echo "Please create it, and try again." exit 1
exit 1
fi
fi fi
if pw user show "${u}" >/dev/null 2>&1; then if [ -z "${pw_user_uid}" -a -z "${pw_uid_user}" ]; then
echo "You already have a user \"${u}\", so I will use it." 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 else
echo "You need a user \"${u}\"." echo "${port} has reserved the username '${user}' and uid '${uid}':"
if which -s pw && yesno "Would you like me to create it" y [ -n "${pw_user_uid}" -a "${uid}" != "${pw_user_uid}" ] \
then && echo "ERROR: username '${user}' already in use by uid '${pw_user_uid}'"
pw useradd ${u} -g ${g} -c "${gcos}" -d /nonexistent -s /sbin/nologin -h - || exit [ -n "${pw_uid_user}" -a "${user}" != "${pw_uid_user}" ] \
echo "Done." && echo "ERROR: uid '${uid}' already in use by user '${pw_uid_user}'"
else echo "Please resolve these issues and try again."
echo "Please create it, and try again." exit 1
exit 1
fi
fi fi
} }
case $2 in case $2 in
PRE-INSTALL) PRE-INSTALL)
make_account dovecot dovecot "Dovecot" create_account Dovecot dovecot:143 dovecot:143 "Dovecot User" /var/empty /sbin/nologin
;; ;;
POST-INSTALL) POST-INSTALL)