diff options
Diffstat (limited to 'ext/installfiles/mac')
-rwxr-xr-x | ext/installfiles/mac/launch.sh | 22 | ||||
-rwxr-xr-x | ext/installfiles/mac/uninstall.sh | 24 |
2 files changed, 30 insertions, 16 deletions
diff --git a/ext/installfiles/mac/launch.sh b/ext/installfiles/mac/launch.sh index ed517029..dc7c2229 100755 --- a/ext/installfiles/mac/launch.sh +++ b/ext/installfiles/mac/launch.sh @@ -1,22 +1,26 @@ #!/bin/bash zthome="/Library/Application Support/ZeroTier/One" -ztapp="/Applications/ZeroTier One.app" - export PATH="/bin:/usr/bin:/sbin:/usr/sbin:$zthome" +ztapp=`mdfind kMDItemCFBundleIdentifier == 'com.zerotier.ZeroTierOne'` -# Uninstall if the .app has been thrown away -if [ ! -d "$ztapp" ]; then - if [ -e "$zthome/uninstall.sh" ]; then - cd "$zthome" - ./uninstall.sh -q - exit +# Clean all other stuff off the system if the user has trashed the .app +if [ -z "$ztapp" -o ! -d "$ztapp" ]; then + # Double-check default location just in case there is some issue with mdfind + ztapp="/Applications/ZeroTier One.app" + if [ ! -d "$ztapp" ]; then + if [ -e "$zthome/uninstall.sh" ]; then + cd "$zthome" + ./uninstall.sh -q + exit + fi fi fi # Create the app deletion notification symlink if it does # not already exist. -if [ ! -L "$zthome/shutdownIfUnreadable" ]; then +shutdownIfUnreadablePointsTo=`readlink "$zthome/shutdownIfUnreadable"` +if [ -z "$shutdownIfUnreadablePointsTo" -o "$shutdownIfUnreadablePointsTo" != "$ztapp/Contents/Info.plist" ]; then rm -f "$zthome/shutdownIfUnreadable" ln -sf "$ztapp/Contents/Info.plist" "$zthome/shutdownIfUnreadable" fi diff --git a/ext/installfiles/mac/uninstall.sh b/ext/installfiles/mac/uninstall.sh index 79955a65..73eac91d 100755 --- a/ext/installfiles/mac/uninstall.sh +++ b/ext/installfiles/mac/uninstall.sh @@ -2,14 +2,19 @@ export PATH=/bin:/usr/bin:/sbin:/usr/sbin -ztpath="/Library/Application Support/ZeroTier/One" -ztapp="/Applications/ZeroTier One.app" +zthome="/Library/Application Support/ZeroTier/One" +ztapp=`mdfind kMDItemCFBundleIdentifier == 'com.zerotier.ZeroTierOne'` if [ "$UID" -ne 0 ]; then echo "Must be run as root; try: sudo $0" exit 1 fi +# Try default location if something's up with mdfind +if [ ! -d "$ztapp" ]; then + ztapp="/Applications/ZeroTier One.app" +fi + # Run with -q to be quieter and run without delay quickAndQuiet=0 if [ "$1" = "-q" ]; then @@ -36,15 +41,20 @@ killall -KILL zerotier-one >>/dev/null 2>&1 sleep 1 echo "Unloading kernel extension..." -kextunload "$ztpath/tap.kext" >>/dev/null 2>&1 +kextunload "$zthome/tap.kext" >>/dev/null 2>&1 + +echo "Erasing GUI app (if installed)..." +if [ -d "$ztapp" ]; then + rm -rfv "$ztapp" +fi -echo "Erasing UI app, binary, and support files..." -cd "$ztpath" -rm -rfv "$ztapp" zerotier-one *.persist authtoken.secret identity.public *.log *.pid *.kext *.sh networks.d updates.d shutdownIfUnreadable +echo "Erasing service and support files..." +cd "$zthome" +rm -rfv zerotier-one *.persist authtoken.secret identity.public *.log *.pid *.kext *.sh networks.d updates.d shutdownIfUnreadable echo "Done." echo -echo "Your ZeroTier One identity is still preserved in $ztpath" +echo "Your ZeroTier One identity is still in: $zthome" echo "as identity.secret and can be manually deleted if you wish. Save it if" echo "you wish to re-use the address of this node, as it cannot be regenerated." |