summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-07-30 23:03:58 +0000
committerjlam <jlam@pkgsrc.org>2004-07-30 23:03:58 +0000
commit3771f314f0f353192d5e47b26fe2f4fbe210555c (patch)
treede3bc37f5a9eaa019796a5fcd178c27013c73d4b /mail
parenta068bec3d2cbffc8ab950f80b8f87aa15c04de46 (diff)
downloadpkgsrc-3771f314f0f353192d5e47b26fe2f4fbe210555c.tar.gz
Actually warn about the IMAP directories if they can't be removed.
Removing directories happens at POST-DEINSTALL time, but the imapd.conf file may be removed during the DEINSTALL stop, so we need to add the code to remove the IMAP directories explicitly in the DEINSTALL step, as well.
Diffstat (limited to 'mail')
-rw-r--r--mail/cyrus-imapd22/DEINSTALL35
1 files changed, 27 insertions, 8 deletions
diff --git a/mail/cyrus-imapd22/DEINSTALL b/mail/cyrus-imapd22/DEINSTALL
index 2ad34812c72..26871ca2b64 100644
--- a/mail/cyrus-imapd22/DEINSTALL
+++ b/mail/cyrus-imapd22/DEINSTALL
@@ -1,19 +1,38 @@
-# $NetBSD: DEINSTALL,v 1.2 2004/05/27 04:45:06 jlam Exp $
+# $NetBSD: DEINSTALL,v 1.3 2004/07/30 23:03:58 jlam Exp $
IMAPDCONF=@IMAPDCONF@
case ${STAGE} in
DEINSTALL)
if [ -f ${IMAPDCONF} ]; then
- ${AWK} '/configdirectory:/ { print $2 }; \
- /partition-.*:/ { print $2 }; \
- /sievedir:/ { print $2 }' \
- ${IMAPDCONF} | \
- while read dir; do
- if [ -d "${dir}" ]; then
- ALL_DIRS="${ALL_DIRS} ${dir}"
+ IMAPDIRS=`
+ ${AWK} '/configdirectory:/ { print $2 }; \
+ /partition-.*:/ { print $2 }; \
+ /sievedir:/ { print $2 }' \
+ ${IMAPDCONF} | ${SORT} -ur`
+ _IMAPDIRS=
+ for dir in ${IMAPDIRS}; do
+ ${RMDIR} -p ${dir} 2>/dev/null || ${TRUE}
+ if [ -d ${dir} ]; then
+ _IMAPDIRS="${_IMAPDIRS} ${dir}"
fi
done
+ if [ -n "${_IMAPDIRS}" ]; then
+ ${CAT} << EOF
+===========================================================================
+If you won't be using ${PKGNAME} any longer, you may want to remove
+the following directories:
+
+EOF
+ for dir in ${_IMAPDIRS}; do
+ if [ -d "${dir}" ]; then
+ ${ECHO} " ${dir}"
+ fi
+ done
+ ${CAT} << EOF
+===========================================================================
+EOF
+ fi
fi
;;
esac