diff options
Diffstat (limited to 'irc/ircproxy/pkg-deinstall')
-rw-r--r-- | irc/ircproxy/pkg-deinstall | 91 |
1 files changed, 18 insertions, 73 deletions
diff --git a/irc/ircproxy/pkg-deinstall b/irc/ircproxy/pkg-deinstall index 0b0c3915ebe..3c56cc3144d 100644 --- a/irc/ircproxy/pkg-deinstall +++ b/irc/ircproxy/pkg-deinstall @@ -4,107 +4,52 @@ # Deinstallation script for FreeBSD ports # Written by Jonas Kvinge # -# Last modified: Jonas Kvinge (10.07.2003) +# Last modified: Jonas Kvinge (26.08.2006) # -c='' -n='' -if [ "`eval echo -n 'a'`" = "-n a" ] ; then - c='\c' -else - n='-n' -fi - -EGROUP="ircproxy" +BINFILE=ircproxyd +PIDFILE="/var/run/ircproxyd.pid" EUSER="ircproxy" -PIDFILEPATH="$PKG_PREFIX/ircproxy/ircproxy.pid" +EGROUP="ircproxy" if [ "$2" = "DEINSTALL" ]; then - echo "*-----------------------------------------------------------------------------" - echo "* Night Light IRC Proxy FreeBSD de-installation script" - echo "* Copyright (C) 2003 Jonas Kvinge, all rights reserved." - echo "*-----------------------------------------------------------------------------" - - echo $n "Checking to see whether ircproxy is installed in crontab... $c" - grep -q "^[^#]*$PKG_PREFIX/ircproxy/ircproxy\.sh" /etc/crontab >/dev/null 2>&1 + grep -q "^[^#]*${PKG_PREFIX}/sbin/ircproxy\.sh" /etc/crontab >/dev/null 2>&1 if [ $? -eq 0 ]; then - echo "YES" - echo $n "Removing ircproxy from crontab... $c" - sed -e "s:^[^#]*$PKG_PREFIX/ircproxy/ircproxy\.sh::" -e '/^$/d' /etc/crontab >/tmp/crontab || exit 1 - mv /tmp/crontab /etc/crontab || exit - chmod 644 /etc/crontab || exit - echo "OK" - else - echo "NO" + sed -i -e "s:^[^#]*${PKG_PREFIX}/sbin/ircproxy\.sh::" /etc/crontab + sed -i -e '/^$/d' /etc/crontab + rm -f /etc/crontab-e fi - echo $n "Checking to see whether ircproxy is running... $c" - if [ -f $PIDFILEPATH ] ; then - if [ ! -r $PIDFILEPATH ] ; then - echo "ERROR" - echo "Error: Cannot read PID file $PIDFILEPATH!" - exit 1 - fi - PID=`cat "$PIDFILEPATH"` - if ps -p "$PID" >/dev/null 2>&1 ; then - echo "YES" + + if [ -f $PIDFILE ] && [ -r $PIDFILE ] ; then + PID=`cat "$PIDFILE"` + ps -p "$PID" >/dev/null 2>&1 + if [ $? -eq 0 ]; then for count in 1 2 3 4 5 6 7 8 9 10; do if [ $count -ge 5 ]; then - echo $n "Sending KILL signal to ircproxy... $c" kill -KILL "$PID" || break - echo "OK" break fi - echo $n "Sending TERM signal to ircproxy and waiting two seconds... $c" kill -TERM "$PID" || break sleep 2 - if ps -p `cat "$PIDFILEPATH"` >/dev/null 2>&1 ; then - echo "Still Running!" - else - echo "Successfully terminated!" - break + ps -p "$PID" >/dev/null 2>&1 + if [ ! $? -eq 0 ]; then + break; fi done - else - echo "NO" fi - else - echo "NO" fi fi if [ "$2" = "POST-DEINSTALL" ]; then - echo "*-----------------------------------------------------------------------------" - echo "* Night Light IRC Proxy FreeBSD post de-installation script" - echo "* Copyright (C) 2003 Jonas Kvinge, all rights reserved." - echo "*-----------------------------------------------------------------------------" - - echo $n "Checking if $PKG_PREFIX/ircproxy exist... $c" - if [ -d "$PKG_PREFIX/ircproxy" ]; then - echo "YES" - echo $n "Removing $PKG_PREFIX/ircproxy... $c" - rm -R -f "$PKG_PREFIX/ircproxy" && echo "OK" || exit 1 - else - echo "NO" - fi - echo $n "Checking if $EGROUP group exist... $c" pw group show ${EGROUP} >/dev/null 2>&1 if [ $? -eq 0 ] ; then - echo "YES" - echo $n "Removing the $EGROUP group from the system... $c" - pw groupdel -n "$EGROUP" && echo "OK" || exit 1 - else - echo "NO" + pw groupdel -n "$EGROUP" fi - echo $n "Checking if $EUSER user account exist... $c" pw user show ${EUSER} >/dev/null 2>&1 if [ $? -eq 0 ] ; then - echo "YES" - echo $n "Removing the $EUSER user account from the system... $c" - pw userdel -n "$EUSER" && echo "OK" || exit 1 - else - echo "NO" + pw userdel -n "$EUSER" fi fi |