123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #!/bin/sh
- PACKAGE_LIST_SRC="Polipo polipostartup"
- POLIPO_USER=_polipo
- 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/polipo_uninst_scratch
- if [ "`whoami`" != "root" ]; then
- echo "Must be root to run the uninstall script."
- exit -1
- fi
- POLIPO_PID=`ps -uax | grep 'Polipo/polipo ' | grep -v grep | awk '{print $2;}'`
- if [ ${#POLIPO_PID} -gt 0 ]; then
- echo ". Killing currently running polipo process, pid is $POLIPO_PID"
- kill -9 $POLIPO_PID
- else
- echo ". polipo process appears to already be stopped"
- fi
- 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
-
-
- STARTUP_DIR=$STARTUP_ITEMS_DIR/$LINE
- if [ -d $STARTUP_DIR ]; then
- echo " . Deleting startup item $STARTUP_DIR"
- rm -rf $STARTUP_DIR
- fi
-
- 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
-
- BOM_FILE=$PACKAGE_PATH/$BOM_INTERMEDIATE_DIR/$LINE.bom
- lsbom $BOM_FILE > $TEMP_BOM_CONTENTS
- while read BOM_ITEM; do
-
- 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
-
- echo " . Removing package receipt $PACKAGE_PATH"
- rm -rf $PACKAGE_PATH
- fi
- done < $PACKAGE_LIST_SRC
- echo ". Removing created user $POLIPO_USER"
- niutil -destroy . /users/$POLIPO_USER
- echo ". Cleaning up"
- rm -rf $TEMP_BOM_CONTENTS
- rm -rf /Library/Polipo/ /Library/StartupItems/Polipo/
- echo ". Finished"
|