diff options
Diffstat (limited to 'release/uninstall.sh.tmpl')
-rw-r--r-- | release/uninstall.sh.tmpl | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/release/uninstall.sh.tmpl b/release/uninstall.sh.tmpl new file mode 100644 index 00000000..25b5fab3 --- /dev/null +++ b/release/uninstall.sh.tmpl @@ -0,0 +1,60 @@ +# Copyright (C)2009-2010 D. R. Commander +# Copyright (C)2009 Sun Microsystems, Inc. +# +# This library is free software and may be redistributed and/or modified under +# the terms of the wxWindows Library License, Version 3.1 or (at your option) +# any later version. The full license is in the LICENSE.txt file included +# with this distribution. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# wxWindows Library License for more details. + +#!/bin/sh + +error() +{ + echo $1 + exit -1 +} + +if [ ! "`id -u`" = "0" ]; then + error "This command must be run as root" +fi + +PKGNAME={__APPNAME} +MACPKGNAME=com.$PKGNAME.$PKGNAME +RCPT=/Library/Receipts/$PKGNAME.pkg + +LSBOM= +if [ -d $RCPT ]; then + LSBOM='lsbom -s -f -l '$RCPT'/Contents/Archive.bom' +else + LSBOM='pkgutil --files '$MACPKGNAME +fi + +echo Removing files ... +$LSBOM >/dev/null || error "Could not list package contents" +RETCODE=0 +PWD=`pwd` +cd / +$LSBOM | while read line; do + if [ ! -d "$line" ]; then rm "$line" 2>&1 || RETCODE=-1; fi +done +cd $PWD + +echo Removing directories ... +rmdir /opt/$PKGNAME/bin 2>&1 || RETCODE=-1 +rmdir /opt/$PKGNAME 2>&1 || RETCODE=-1 +rmdir /Library/Documentation/$PKGNAME 2>&1 || RETCODE=-1 + +if [ -d $RCPT ]; then + echo Removing package receipt $RCPT ... + rm -r $RCPT 2>&1 || RETCODE=-1 +else + echo Forgetting package $MACPKGNAME + pkgutil --forget $MACPKGNAME +fi + +exit $RETCODE |