From bdc0ed8065d8b9a4311cab687365177f52c8b5fd Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 13 Nov 2013 09:07:59 -0500 Subject: [PATCH] Uninstall scripts. --- buildinstaller.sh | 20 +++++++++++++------- installer/linux/uninstall.sh | 2 ++ installer/mac/uninstall.sh | 33 +++++++++++++++++++++++++-------- 3 files changed, 40 insertions(+), 15 deletions(-) diff --git a/buildinstaller.sh b/buildinstaller.sh index f47b2d529..10eb66d5d 100755 --- a/buildinstaller.sh +++ b/buildinstaller.sh @@ -1,17 +1,19 @@ #!/bin/bash -make file2lz4c - -if [ ! -f file2lz4c ]; then - echo "Build of file2lz4c utility failed, aborting installer build." - exit 2 -fi +# This script builds the installer for *nix systems. Windows must do everything +# completely differently, as usual. if [ ! -f zerotier-one ]; then echo "Could not find 'zerotier-one' binary, please build before running this script." exit 2 fi +make -j 2 file2lz4c +if [ ! -f file2lz4c ]; then + echo "Build of file2lz4c utility failed, aborting installer build." + exit 2 +fi + machine=`uname -m` system=`uname -s` @@ -34,6 +36,9 @@ mkdir installer-build case "$system" in Linux) + # Canonicalize $machine for some architectures... we use x86 + # and x64 for Intel stuff. ARM and others should be fine if + # we ever ship officially for those. case "$machine" in i386|i486|i586|i686) machine="x86" @@ -42,9 +47,10 @@ case "$system" in machine="x64" ;; *) - echo "Unknonwn machine type: $machine" + echo "Unsupported machine type: $machine" exit 2 esac + echo "Assembling Linux installer for $machine and ZT1 version $vmajor.$vminor.$revision" ./file2lz4c installer/linux/uninstall.sh uninstall_sh >installer-build/uninstall_sh.h diff --git a/installer/linux/uninstall.sh b/installer/linux/uninstall.sh index 292ac22f8..18b8a50b7 100755 --- a/installer/linux/uninstall.sh +++ b/installer/linux/uninstall.sh @@ -37,3 +37,5 @@ 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." echo + +exit 0 diff --git a/installer/mac/uninstall.sh b/installer/mac/uninstall.sh index 2d4079adc..4fa26d00b 100755 --- a/installer/mac/uninstall.sh +++ b/installer/mac/uninstall.sh @@ -1,21 +1,38 @@ #!/bin/bash +export PATH=/bin:/usr/bin:/sbin:/usr/sbin + if [ "$UID" -ne 0 ]; then - echo "Must be run as root; try: sudo ./uninstall.sh" + echo "Must be run as root; try: sudo $0" exit 1 fi +echo + +echo "This will uninstall ZeroTier One, hit CTRL+C to abort." +echo "Waiting 5 seconds..." +sleep 5 + ztpath="/Library/Application Support/ZeroTier/One" echo "Killing any running zerotier-one service..." -killall zerotier-one -sleep 5 +killall -TERM zerotier-one >>/dev/null 2>&1 +sleep 3 +killall -KILL zerotier-one >>/dev/null 2>&1 + +echo "Unloading kernel extension..." +kextunload "$ztpath/tap.kext" echo "Erasing binary and support files..." cd $ztpath -rm -fv zerotier-one -rm -rfv updates.d -rm -fv *.persist -rm -rfv networks.d -rm -fv authtoken.secret +rm -rfv zerotier-one *.persist authtoken.secret identity.public *.log *.pid *.kext +echo "Done." +echo +echo "Your ZeroTier One identity is still preserved in $ztpath" +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." + +echo + +exit 0