#! /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 pw group show ${g} > /dev/null 2>&1; then if yesno "Do you want me to remove group \"${g}\"" y; then pw group del -n ${g} echo "Done." else GID=`pw group show ${g} | awk -F: '{ print $3 }'` fi fi if pw user show ${u} > /dev/null 2>&1; then if yesno "Do you want me to remove user \"${u}\"" y; then eval home=~${u} pw user del -n ${u} -r echo "Done." if [ -d "${home}" ]; then echo "Please remember to remove the home directory \"${home}\"" fi # pw user del may have removed the group, too. # Put it back if the admin asked us to retain it. if [ -n "$GID" ]; then pw group show ${g} > /dev/null 2>&1 if [ $? -ne 0 ]; then pw group add ${g} fi fi fi fi } delete_crontab_entries() { local b e b=$1 e=$2 TMPFILE=`mktemp -t munin` || exit 1 crontab -u munin -l | sed -e "/^$b\$/,/^$e\$/d" -e '/^[ ]*#/d' -e '/^$/d' > $TMPFILE if [ -s $TMPFILE ]; then crontab -u munin -l | sed -e "/^$b\$/,/^$e\$/d" | crontab -u munin - echo "The crontab for user munin had manually created entries." echo "Only the automatically created entries have been removed." echo "These are the remaining lines:" crontab -u munin -l else echo y | crontab -u munin -r echo "crontab for user munin removed" fi rm $TMPFILE } delnewsyslog() { tmp="/etc/#munin-node$$" sed -e '/^\/var\/log\/munin-main\/\*\.log[ ]/d' /etc/newsyslog.conf >${tmp} cat ${tmp} > /etc/newsyslog.conf rm ${tmp} } newsyslog() { ENTRY=`fgrep '/var/log/munin-main/*' /etc/newsyslog.conf` DEFAULT='/var/log/munin-main/*.log munin:munin 644 7 * @T00 GNWZ' if [ -z "$ENTRY" ]; then exit 0 elif [ "$ENTRY" = "$DEFAULT" ]; then delnewsyslog elif yesno "You have changed the default munin-main entry in \"/etc/newsyslog.conf\". Do you want me to delete it?" y; then delnewsyslog echo "Done." fi } case $2 in DEINSTALL) delete_crontab_entries '#BEGIN_MUNIN_MAIN' '#END_MUNIN_MAIN' newsyslog ;; POST-DEINSTALL) delete_account munin munin ;; esac