diff --git a/src/warden-server/sh/uninstall.sh b/src/warden-server/sh/uninstall.sh index b6f9ab6a433743732e5b81e1bea4de4548faa23b..3caadb9350f5877e649a30a8fe2d8099588d0eec 100755 --- a/src/warden-server/sh/uninstall.sh +++ b/src/warden-server/sh/uninstall.sh @@ -74,10 +74,15 @@ err_clean() { echo "FAILED!" echo " -> Reverting changes of warden server package ... OK" - rm -rf "$server_path/*" > /dev/null 2>&1 - cp -R "$backup_dir/*" $server_path - ln -s $server_path/bin/wardend $init - $init start + rm -rf $server_path/* > /dev/null 2>&1 # delete new version + cp -R $backup_dir/* $server_path # copy old backuped server + chmod 600 $db_file # change permission to DB file + for file in `ls -1 $bin | grep -v warden-alive | grep -v create_tables.sh | grep -v wardend` + do + ln -s ${bin}/$file ${local_bin}/$file # create symlinks to /usr/local/bin + done + ln -s ${bin}/wardend $init # create symlink to /etc/init.d/ + $init start # start server cat $err rm -rf $err $backup_dir echo @@ -146,6 +151,7 @@ warden_dir_chck() fi } + stop_warden_server() { echo "Stopping warden server ... " @@ -165,6 +171,20 @@ backup() } +delete_symlinks() +{ + echo -n "Deleting symlinks from /usr/local/bin ..." + for file in `ls -1 $bin | grep -v warden-alive | grep -v wardend | grep -v create_tables.sh` + do + rm -rf /usr/local/bin/$file 2> /dev/null + done + echo "OK" + echo -n "Deleting symlink from $init ..." + rm -rf $init 2> /dev/null + echo "OK" +} + + uninstall_warden_server() { echo -n "Uninstalling $package_version package ... " @@ -175,6 +195,8 @@ uninstall_warden_server() fi } + + #------------------------------------------------------------------------------- # MAIN #------------------------------------------------------------------------------- @@ -203,12 +225,16 @@ params_chck # create variables [[ $prefix == */ ]] && prefix="${prefix%?}" # remove last char (slash) from prefix -server_path="$prefix/warden-server" -etc="$server_path/etc" -old_package_version_file="$etc/package_version" +server_path="${prefix}/warden-server" +bin="${server_path}/bin" +local_bin="/usr/local/bin" +etc="${server_path}/etc" +var="${server_path}/etc" +db_file="${var}/warden.db" +old_package_version_file="${etc}/package_version" err="/tmp/warden-err" backup_dir="/tmp/warden-backup" -init="/etc/init.d/warden" +init="/etc/init.d/wardend" # obtain version of installed warden-server package obtain_package_version @@ -225,6 +251,9 @@ stop_warden_server # make backup of currently installed warden-server package backup +# delete symbolic links +delete_symlinks + # do uninstallation uninstall_warden_server