diff options
Diffstat (limited to 'net/jabber/pkg-deinstall')
-rw-r--r-- | net/jabber/pkg-deinstall | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/net/jabber/pkg-deinstall b/net/jabber/pkg-deinstall new file mode 100644 index 00000000000..355d51ea398 --- /dev/null +++ b/net/jabber/pkg-deinstall @@ -0,0 +1,71 @@ +#! /bin/sh + +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 remove the home directory \"${home}\" as" + echo "well as the mirrored files." + fi + fi +} + +if [ x$2 != xDEINSTALL ]; then + exit +fi + +export PATH=/bin:/usr/bin:/usr/sbin + +user=jserver +group=jserver + +if ps -axc | grep -q jserver; then + if yesno "There are some jserver processes running. Shall I kill them" y + then + killall jserver + sleep 2 + else + echo "OK ... I hope you know what you are doing." + fi +fi + +delete_account ${user} ${group} |