Skip to content
Snippets Groups Projects
Commit 539486ae authored by Tomáš Plesník's avatar Tomáš Plesník
Browse files

zmena verze skriptu; pridano zjisteni verze klienta urceneho k odinstalaci; zmena odsazeni

parent 220f9318
No related branches found
No related tags found
No related merge requests found
...@@ -31,144 +31,144 @@ ...@@ -31,144 +31,144 @@
# otherwise) arising in any way out of the use of this software, even # otherwise) arising in any way out of the use of this software, even
# if advised of the possibility of such damage. # if advised of the possibility of such damage.
VERSION="1.1.0" VERSION="1.0"
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# FUNCTIONS # FUNCTIONS
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
usage() usage()
{ {
echo "Usage: `basename $0` [-d <directory>] [-hV]" echo "Usage: `basename $0` [-d <directory>] [-hV]"
echo "-d <directory> installation directory (default: /opt)" echo "-d <directory> installation directory (default: /opt)"
echo "-h print this help" echo "-h print this help"
echo "-V print script version number and exit" echo "-V print script version number and exit"
echo echo
echo "Example: ./`basename $0` -d /opt" echo "Example: ./`basename $0` -d /opt"
echo echo
echo "Note: You must be root for running this script." echo "Note: You must be root for running this script."
echo " For more information about uninstallation process, see README file (section Uninstallation)." echo " For more information about uninstallation process, see README file (section Uninstallation)."
echo echo
exit 0 exit 0
} }
version() version()
{ {
echo "`basename ${0}` - current version is $VERSION" echo "`basename ${0}` - current version is $VERSION"
exit 0 exit 0
} }
err() err()
{ {
echo "FAILED!" echo "FAILED!"
cat $err cat $err
rm -rf $err rm -rf $err
rm -rf $backup_dir rm -rf $backup_dir
echo echo
echo "Uninstallation of $package_name package FAILED!!!" echo "Uninstallation of $package_version package FAILED!!!"
exit 1 exit 1
} }
err_clean() err_clean()
{ {
echo "FAILED!" echo "FAILED!"
echo " -> Reverting changes of warden client package ... OK" echo " -> Reverting changes of warden client package ... OK"
rm -rf "$client_path/*" > /dev/null 2>&1 rm -rf "$client_path/*" > /dev/null 2>&1
cp -R "$backup_dir/*" $client_path cp -R "$backup_dir/*" $client_path
cat $err cat $err
rm -rf $err rm -rf $err
rm -rf $backup_dir rm -rf $backup_dir
echo echo
echo "Uninstallation of $package_name package FAILED!!!" echo "Uninstallation of $package_version package FAILED!!!"
exit 1 exit 1
} }
os_chck() os_chck()
{ {
OS=`uname` OS=`uname`
if [ "$OS" != "Linux" ]; then if [ "$OS" != "Linux" ]; then
echo "Sorry, unsupported operating system detected - \"$OS\"!" echo "Sorry, unsupported operating system detected - \"$OS\"!"
exit 1 exit 1
fi fi
} }
shell_chck() shell_chck()
{ {
SHELL=`echo $SHELL` SHELL=`echo $SHELL`
if [ "$SHELL" != "/bin/bash" ]; then if [ "$SHELL" != "/bin/bash" ]; then
echo "Sorry, this script is usable in Bourne Again Shell (bash) only!" echo "Sorry, this script is usable in Bourne Again Shell (bash) only!"
exit 1 exit 1
fi fi
} }
root_chck() root_chck()
{ {
if [ $UID -ne 0 ]; then if [ $UID -ne 0 ]; then
echo "You must be root for running this script!" echo "You must be root for running this script!"
exit 1 exit 1
fi fi
} }
params_chck() params_chck()
{ {
if [ -z $prefix ]; then if [ -z $prefix ]; then
prefix=/opt prefix=/opt
echo "Warning: parameter -d <directory> is not set - default installation directory is $prefix!" echo "Warning: parameter -d <directory> is not set - default uninstallation directory is $prefix!"
fi fi
} }
installation_dir_chck() uninstallation_dir_chck()
{ {
echo -n "Checking installation directory ... " echo -n "Checking uninstallation directory ... "
if [ ! -d $prefix ]; then if [ ! -d $prefix ]; then
echo "FAILED!" echo "FAILED!"
ls $prefix ls $prefix
exit 1 exit 1
else else
echo "OK" echo "OK"
fi fi
} }
warden_dir_chck() warden_dir_chck()
{ {
echo -n "Checking warden client directory ... " echo -n "Checking warden client directory ... "
if [ ! -d $client_path ]; then if [ ! -d $client_path ]; then
echo "FAILED!" echo "FAILED!"
ls $prefix ls $prefix
exit 1 exit 1
else else
echo "OK" echo "OK"
fi fi
} }
backup() backup()
{ {
echo -n "Backing-up warden client directory ... " echo -n "Backing-up warden client directory ... "
mkdir $backup_dir mkdir $backup_dir
cp -R $client_path $backup_dir 2> $err; ret_val=`echo $?` cp -R $client_path $backup_dir 2> $err; ret_val=`echo $?`
if [ $ret_val -eq 0 ]; then if [ $ret_val -eq 0 ]; then
echo "OK" echo "OK"
else else
err err
fi fi
} }
uninstall_warden-client() uninstall_warden-client()
{ {
echo -n "Uninstalling warden-client package ... " echo -n "Uninstalling $package_version package ... "
rm -rf $client_path 2> $err; ret_val=`echo $?` rm -rf $client_path 2> $err; ret_val=`echo $?`
if [ $ret_val -eq 0 ]; then if [ $ret_val -eq 0 ]; then
echo "OK" echo "OK"
else else
err_clean err_clean
fi fi
} }
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
...@@ -183,12 +183,12 @@ shell_chck ...@@ -183,12 +183,12 @@ shell_chck
# read input # read input
while getopts "d:Vh" options; do while getopts "d:Vh" options; do
case $options in case $options in
d ) prefix=$OPTARG;; d ) prefix=$OPTARG;;
h ) usage;; h ) usage;;
V ) version;; V ) version;;
* ) usage;; * ) usage;;
esac esac
done done
# root test # root test
...@@ -198,17 +198,24 @@ root_chck ...@@ -198,17 +198,24 @@ root_chck
params_chck params_chck
# create variables # create variables
package_name="warden-client-$VERSION"
client_path="$prefix/warden-client" client_path="$prefix/warden-client"
etc="$client_path/etc"
err="/tmp/warden-err" err="/tmp/warden-err"
backup_dir="/tmp/warden-backup" backup_dir="/tmp/warden-backup"
# obtain version of installed warden-client package
old_package_version="$etc/package_verion.txt"
if [ -f $old_package_version ]; then
package_version=`cat $etc/package_version.txt`
else
package_version="unknown"
fi
echo echo
echo "------------------------- Uninstallation process --------------------------------" echo "------------------------- Uninstallation process --------------------------------"
# check if $prefix directory exist # check if $prefix directory exist
installation_dir_chck uninstallation_dir_chck
# check if $prefix/warden-client directory exist # check if $prefix/warden-client directory exist
warden_dir_chck warden_dir_chck
...@@ -220,7 +227,7 @@ backup ...@@ -220,7 +227,7 @@ backup
uninstall_warden-client uninstall_warden-client
echo echo
echo "Uninstallation of $package_name package was SUCCESSFUL!!!" echo "Uninstallation of $package_version package was SUCCESSFUL!!!"
# cleanup section # cleanup section
rm -rf $err rm -rf $err
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment