summaryrefslogblamecommitdiff
path: root/mail/mailman/pkg-deinstall
blob: 05972ee6ebc56e399cca6493ddbfe58446afc316 (plain) (tree)
1
2
3
4
5
6
7
8
9
          

           
 
                            

          
 
          

                                        



                                                                           



                                                               




                                                                        















                                                                             



               

                                             
                                
                                                                                      


                                                                 
    




                                                                                      
    
 
    
#! /bin/sh
#
# $FreeBSD$

PATH=/bin:/usr/bin:/usr/sbin

case $2 in

DEINSTALL)
  echo "---> Starting deinstall script:"

  if /usr/bin/crontab -u "%%USER%%" -l | \
      /usr/bin/diff - %%MAILMANDIR%%/cron/crontab.in >/dev/null 2>&1 ; then
      echo "---> Zeroing crontab for \"%%USER%%\""
      /usr/bin/crontab -u "%%USER%%" /dev/null
      if [ -e /var/cron/allow ]; then
         grep -v %%USER%% /var/cron/allow > /var/cron/allow.new
         mv /var/cron/allow.new /var/cron/allow
      fi
  else
      echo "---> Crontab for \"%%USER%%\" not removed: please deinstall"
      echo "---> manually if you no-longer wish to use Mailman. eg:"
      echo "--->     /usr/bin/crontab -u "%%USER%%" -r"
  fi

  echo "---> Stopping Mailman's qrunner daemon"
  %%PREFIX%%/etc/rc.d/mailman.sh stop >/dev/null 2>&1
  /bin/sleep 2

  echo "---> Preserving the \"last_mailman_version\" file"
  /bin/cp -f %%MAILMANDIR%%/data/last_mailman_version /var/tmp/

  # If the errorlog is the only existing logfile, delete it.  (If Mailman's
  # qrunner had not been running, then the process of trying to stop the
  # qrunner (above) will cause the errorlog to be written to.  Hence, even if
  # the Mailman port/package is installed and immediately deinstalled, the
  # errorlog will exist.)
  if [ "`echo %%MAILMANDIR%%/logs/*`" = "%%MAILMANDIR%%/logs/error" ]; then
    echo "---> Deleting errorlog (It is the only existing logfile.)"
    /bin/rm -f %%MAILMANDIR%%/logs/error
  fi
  ;;

POST-DEINSTALL)
  echo "---> Starting post-deinstall script:"

  if [ -d %%MAILMANDIR%% ]; then
    echo '---> %%MAILMANDIR%% is not empty - this installation may have active lists!'
    echo "---> Restoring \"last_mailman_version\" file"
    [ -d %%MAILMANDIR%%/data ] || /bin/mkdir %%MAILMANDIR%%/data
    /bin/mv -f /var/tmp/last_mailman_version %%MAILMANDIR%%/data/
  fi

  echo '---> - If you are not using Mailman any more, you should manually delete'
  echo '---> - the "%%USER%%" user and "%%GROUP%%" group.'
  echo '---> - You may delete them with "pw groupdel %%GROUP%%; pw userdel %%USER%%".'

  ;;

esac