diff options
Diffstat (limited to 'mail/nullmailer/pkg-deinstall')
-rw-r--r-- | mail/nullmailer/pkg-deinstall | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/mail/nullmailer/pkg-deinstall b/mail/nullmailer/pkg-deinstall new file mode 100644 index 000000000000..d49e047ad1dc --- /dev/null +++ b/mail/nullmailer/pkg-deinstall @@ -0,0 +1,93 @@ +#!/bin/sh + +user=nullmail +group=nullmail + +ask() { + local question default answer + + question=$1 + default=$2 + if [ -z "${PACKAGE_BUILDING}" ]; then + read -p "${question} [${default}]? " answer + fi + if [ x${answer} = x ]; then + answer=${default} + fi + echo ${answer} +} + +yesno() { + local dflt question answer + + question=$1 + dflt=$2 + while :; do + answer=$(ask "${question}" "${dflt}") + case "${answer}" in + [Yy]*) return 0;; + [Nn]*) return 1;; + esac + echo "Please answer yes or no." + done +} + +delete_account() { + local u g home + + u=$1 + g=$2 + if yesno "Do you want me to remove group \"${g}\"" y; then + pw groupdel -n ${g} + echo "Done." + fi + if yesno "Do you want me to remove user \"${u}\"" y; then + eval home=~${u} + pw userdel -n ${u} + echo "Done." + if [ -d "${home}" ]; then + echo "Please remember to check if there's any unsent mail left" + echo "in the home directory \"${home}\"" + fi + + fi +} + +if [ x"$2" = xDEINSTALL ]; then + if [ ! -n "$BATCH" ]; then + if /bin/ps -axc | /usr/bin/grep -q nullmailer-send; then + if yesno "There are some nullmailer processes running. Shall I kill them" y; then + ${PKG_PREFIX}/etc/rc.d/nullmail.sh stop + sleep 2 + else + echo "OK ... I hope you know what you are doing." + fi + fi + + fi +fi + +if [ x"$2" = xPOST-DEINSTALL ]; then + tmp="/etc/#nullmailer$$" + if [ ! -n "$BATCH" ]; then + if yesno "Do you want me to remove the nullmail logging from \"/etc/syslog.conf\"" y; then + sed "/nullmail\.log\$/d" /etc/syslog.conf >${tmp} || exit + chmod 644 ${tmp} + mv ${tmp} /etc/syslog.conf || exit + + if [ -f /var/run/syslog.pid ]; then + echo "Giving syslogd a kick in the pants." + kill -HUP `cat /var/run/syslog.pid` + fi + fi + + if yesno "Do you want me to remove the nullmail log entry from \"/etc/newsyslog.conf\"" y; then + sed "/nullmail\.log/d" /etc/newsyslog.conf >${tmp} || exit + chmod 644 ${tmp} + mv ${tmp} /etc/newsyslog.conf || exit + echo "Done." + fi + delete_account ${user} ${group} + + fi +fi |