ed8027772f
- Allow user to override UID/GID PR: ports/107654 Submitted by: Robin Breathe <robin@isometry.net> (maintainer)
65 lines
1.2 KiB
Bash
65 lines
1.2 KiB
Bash
#! /bin/sh
|
|
#
|
|
# ex:ts=4
|
|
|
|
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 remove the user '${user}' (uid='${uid}') and the 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
|
|
killall dovecot
|
|
sleep 2
|
|
else
|
|
echo "OK ... I hope you know what you are doing."
|
|
fi
|
|
fi
|
|
|
|
delete_account Dovecot dovecot:${DOVECOT_UID:-143} dovecot:${DOVECOT_GID:-143}
|
|
|
|
base=/var/run/dovecot
|
|
DIRLIST="${base}/login ${base}"
|
|
echo "Cleaning up \"${base}\"."
|
|
for directory in ${DIRLIST}; do
|
|
rmdir ${directory} 2>/dev/null || :
|
|
done
|
|
;;
|
|
|
|
esac
|