aboutsummaryrefslogtreecommitdiff
path: root/contrib/osx/uninstall_tor_bundle.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/osx/uninstall_tor_bundle.sh')
-rwxr-xr-xcontrib/osx/uninstall_tor_bundle.sh140
1 files changed, 0 insertions, 140 deletions
diff --git a/contrib/osx/uninstall_tor_bundle.sh b/contrib/osx/uninstall_tor_bundle.sh
deleted file mode 100755
index b7c439429..000000000
--- a/contrib/osx/uninstall_tor_bundle.sh
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/bin/sh
-#
-# not a psueber-pretty uninstall script for the Tor bundle package
-# . this currently leaves ~/.tor, /var/log/tor and empty
-# directories /Library/Tor, /Library/Privoxy (see comment below)
-# . this relies on the fact that the startup items directories (if any)
-# will be named the same as the package name (ie. Tor)
-#
-#
-# version history
-# initial version - 21 may, 2005 - loki der quaeler
-#
-#
-# comments
-# loki: because of the way the Tor package installs itself (the root directory
-# is the filesystem root, as opposed to the much nicer way that privoxy
-# installs itself with the privoxy home (/Library/Privoxy) as its
-# install root directory), i thought it more prudent to leave empty
-# directories laying around rather than try to incorrectly intuit from
-# the bom contents what directories should exist and which ones could be
-# deleted (ie, the Tor package has /Library listed in its bom --
-# obviously this is a Bad Thing(tm) to delete).
-# + when the Tor installer is changed, this uninstaller could be modified.
-# loki: /bin/ps, when run from a terminal window in osX, restricts information
-# based on the width of the window. an 80 col window will stupidly cause
-# the grep search for the privoxy pid to not find the pid, whereas the grep
-# in a wider window succeeds. consider using killall. in the meantime,
-# advise uninstall runners to drag wide their terminal window.. ugh
-#
-
-
-### this is the location of a file which contains all the actual package names
-## (ie "Tor", "torstartup", ...) the list should be new-line-delimited.
-PACKAGE_LIST_SRC=/Library/Tor/package_list.txt
-
-### this is the name of the user created in the install process of Tor
-TOR_USER=_tor
-
-### these should be constant across all osX installs (so leave them be)
-STARTUP_ITEMS_DIR=/Library/StartupItems
-PKG_RCPT_BASE_DIR=/Library/Receipts
-BOM_INTERMEDIATE_DIR=Contents/Resources
-INFO_INTERMEDIATE_DIR=$BOM_INTERMEDIATE_DIR/English.lproj
-TEMP_BOM_CONTENTS=/tmp/tor_uninst_scratch
-
-### make sure the script is being run as root, barf if not
-if [ "`whoami`" != "root" ]; then
- echo "Must be root to run the uninstall script."
- exit -1
-fi
-
-
-### check to see if tor is currently running, kill it if it is
-## we grep on 'Tor/tor ' because 'tor' is too common (like in 'directory')
-## -- this relies on the fact that tor has been started with command
-## line arguments.. :-/
-TOR_PID=`ps -uax | grep 'Tor/tor ' | grep -v grep | awk '{print $2;}'`
-if [ ${#TOR_PID} -gt 0 ]; then
- echo ". Killing currently running tor process, pid is $TOR_PID"
- kill -9 $TOR_PID
-else
- echo ". tor process appears to already be stopped"
-fi
-
-
-### check to see if privoxy is currently running, kill it if it is
-PRIVOXY_PID=`ps -uax | grep privoxy | grep -v grep | awk '{print $2;}'`
-if [ ${#PRIVOXY_PID} -gt 0 ]; then
- echo ". Killing currently running privoxy process, pid is $PRIVOXY_PID"
- kill -9 $PRIVOXY_PID
-else
- echo ". privoxy process appears to already be stopped"
-fi
-
-
-## grab each package name from the package list file
-while read LINE; do
- if [ ${#LINE} -gt 0 ]; then
- PACKAGE_NAME=$LINE.pkg
- PACKAGE_PATH=$PKG_RCPT_BASE_DIR/$PACKAGE_NAME
- echo ". Uninstalling $PACKAGE_NAME"
- if [ ! -d $PACKAGE_PATH ]; then
- echo " . No receipt exists for this package -- skipping."
-
- continue
- fi
-
-
- ## get rid of the startup item if it exists
- STARTUP_DIR=$STARTUP_ITEMS_DIR/$LINE
- if [ -d $STARTUP_DIR ]; then
- echo " . Deleting startup item $STARTUP_DIR"
- rm -rf $STARTUP_DIR
- fi
-
-
- ## determine the root directory of the the relative paths specified in the bom
- DEFAULT_LOC=`grep DefaultLocation $PACKAGE_PATH/$INFO_INTERMEDIATE_DIR/$LINE.info | awk '{print $2;}'`
- if [ ${#DEFAULT_LOC} -eq 0 ]; then
- echo "!! Could not find default location for $LINE package -- skipping package."
-
- continue
- fi
-
- ## examine the list of installed items desribed in the bom
- BOM_FILE=$PACKAGE_PATH/$BOM_INTERMEDIATE_DIR/$LINE.bom
- lsbom $BOM_FILE > $TEMP_BOM_CONTENTS
- while read BOM_ITEM; do
- ## 3 column items describe just directories, 5 column items describe actual files
- COL_COUNT=$(echo $BOM_ITEM | awk '{print NF;}')
- if [ "$COL_COUNT" -eq 5 ]; then
- FILE_NAME=$DEFAULT_LOC/$(echo $BOM_ITEM | awk '{print $1;}')
-
- echo " . Removing $FILE_NAME"
- rm -rf $FILE_NAME
- fi
- done < $TEMP_BOM_CONTENTS
-
- ## remove package receipt
- echo " . Removing package receipt $PACKAGE_PATH"
- rm -rf $PACKAGE_PATH
- fi
-done < $PACKAGE_LIST_SRC
-
-
-## nuke the user created by the install process.
-echo ". Removing created user $TOR_USER"
-if [ -x /usr/bin/dscl ]; then
- dscl . -delete /users/$TOR_USER
-else
- niutil -destroy . /users/$TOR_USER
-fi
-
-## clean up
-echo ". Cleaning up"
-rm -rf $TEMP_BOM_CONTENTS
-rm -rf /Library/Privoxy/ /Library/StartupItems/Privoxy/ /Library/Tor/ /Library/StartupItems/Tor/ /Library/Torbutton/ /Library/Receipts/Privoxy.pkg /Library/Receipts/torbutton.pkg /Library/Receipts/Tor.pkg /Library/Receipts/Vidalia.pkg /Library/Receipts/TorStartup.pkg
-
-echo ". Finished"
-