Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
W
Warden - archive
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
713
Warden
Warden - archive
Commits
aef58d41
Commit
aef58d41
authored
13 years ago
by
Tomáš Plesník
Browse files
Options
Downloads
Patches
Plain Diff
odstraneni update.sh skriptu; pridani uninstall.sh skriptu
parent
326cd8a1
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/warden-server/sh/uninstall.sh
+227
-0
227 additions, 0 deletions
src/warden-server/sh/uninstall.sh
with
227 additions
and
0 deletions
src/warden-server/sh/u
pdate
.sh
→
src/warden-server/sh/u
ninstall
.sh
+
227
−
0
View file @
aef58d41
#!/bin/bash
#!/bin/bash
#
#
# u
pdate
.sh
# u
ninstall
.sh
#
#
# Copyright (C) 2012 Cesnet z.s.p.o
# Copyright (C)
2011-
2012 Cesnet z.s.p.o
# Author(s): Tomas PLESNIK <plesnik@ics.muni.cz>
# Author(s): Tomas PLESNIK <plesnik@ics.muni.cz>
# Jan SOUKAL <soukal@ics.muni.cz>
# Jan SOUKAL <soukal@ics.muni.cz>
#
#
...
@@ -31,251 +31,148 @@
...
@@ -31,251 +31,148 @@
# 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.0"
VERSION
=
"1.0.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>
un
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 u
pdate
process, see README file (section U
pdate
)."
echo
" For more information about u
ninstallation
process, see README file (section U
ninstallation
)."
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
$backup_dir
rm
-rf
$backup_dir
echo
echo
echo
"Uninstallation of
$package_version
package FAILED!!!"
echo
"Update 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
$backup_dir
rm
-rf
$backup_dir
echo
echo
echo
"Uninstallation of
$package_version
package FAILED!!!"
echo
"Update 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
}
perl_chck
()
{
echo
-n
"Checking Perl interpreter ... "
which perl 1>/dev/null
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
echo
"FAILED!"
echo
"Error: Perl interpreter is not installed!"
exit
1
fi
}
modules_chck
()
{
for
module
in
${
modules
[@]
}
;
do
echo
-n
"Checking
$module
module ... "
perl
-e
"use
$module
"
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err
fi
done
}
}
installation_dir_chck
()
obtain_package_version
()
{
{
echo
-n
"Checking installation directory ... "
if
[
-f
$old_package_version_file
]
;
then
if
[
!
-d
$prefix
]
;
then
package_version
=
`
cat
$old_package_version_file
`
echo
"FAILED!"
else
ls
$prefix
package_version
=
"unknown"
exit
1
fi
else
echo
"OK"
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
$client_path
exit
1
exit
1
else
else
echo
"OK"
echo
"OK"
fi
fi
}
backup
()
{
echo
-n
"Backing-up warden client directory ... "
mkdir
$backup_dir
cp
-R
$client_path
$backup_dir
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err
fi
}
obtain_warden_user
()
{
echo
-n
"Obtaining warden client directory owner ... "
user
=
`
stat
-c
%U
$conf_file
`
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err
fi
}
update_warden_dir
()
{
echo
-n
"Updating warden client directory ... "
rsync
-q
--recursive
--archive
--delete
--exclude
=
"warden-client/etc"
--exclude
=
"warden-client/var"
warden-client
$prefix
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err_clean
fi
cp
-u
CHANGELOG INSTALL LICENSE README README.cesnet
"
$client_path
/doc"
}
}
make_conf_file
()
backup
()
{
{
echo
-n
"Creating configuration file ... "
echo
-n
"Backing-up warden client directory ... "
uri
=
`
cat
$conf_file
|
grep
'$URI'
`
mkdir
$backup_dir
ssl_key_file
=
`
cat
$conf_file
|
grep
'$SSL_KEY_FILE'
`
cp
-R
$client_path
$backup_dir
2>
$err
;
ret_val
=
`
echo
$?
`
ssl_cert_file
=
`
cat
$conf_file
|
grep
'$SSL_CERT_FILE'
`
if
[
$ret_val
-eq
0
]
;
then
ssl_ca_file
=
`
cat
$conf_file
|
grep
'$SSL_CA_FILE'
`
echo
"OK"
echo
"#
else
# warden-client.conf - configuration file for the warden sender/receiver client
err
#
fi
#-------------------------------------------------------------------------------
# URI - URI address of Warden server
#-------------------------------------------------------------------------------
$uri
#-------------------------------------------------------------------------------
# SSL_KEY_FILE - path to client SSL certificate key file
#-------------------------------------------------------------------------------
$ssl_key_file
#-------------------------------------------------------------------------------
# SSL_CERT_FILE - path to client SSL certificate file
#-------------------------------------------------------------------------------
$ssl_cert_file
#-------------------------------------------------------------------------------
# SSL_CA_FILE - path to CA certificate file
#-------------------------------------------------------------------------------
$ssl_ca_file
"
>
$conf_file
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err_clean
fi
}
}
change_permissions
()
uninstall_warden_client
()
{
{
echo
-n
"
Changing permissions to updated
package ... "
echo
-n
"
Uninstalling
$package_version
package ... "
chown
-R
$user
:
$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
}
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# MAIN
# MAIN
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# list of used Perl modules
modules
=(
SOAP::Lite IO::Socket::SSL SOAP::Transport::TCP FindBin
)
# OS test
# OS test
os_chck
os_chck
...
@@ -284,12 +181,12 @@ shell_chck
...
@@ -284,12 +181,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
...
@@ -299,54 +196,32 @@ root_chck
...
@@ -299,54 +196,32 @@ root_chck
params_chck
params_chck
# create variables
# create variables
[[
$prefix
==
*
/
]]
&&
prefix
=
"
${
prefix
%?
}
"
# remove last char (slash) from prefix
client_path
=
"
$prefix
/warden-client"
client_path
=
"
$prefix
/warden-client"
etc
=
"
$client_path
/etc"
etc
=
"
$client_path
/etc"
c
on
f
_file
=
"
$etc
/
warden-client.c
on
f
"
old_package_versi
on_file
=
"
$etc
/
package_versi
on"
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
obtain_package_version
echo
echo
echo
"------------------------- Dependencies check-in -------------------------"
echo
"------------------------- Uninstallation process --------------------------------"
# Perl interpreter test
perl_chck
# Perl modules test
modules_chck
echo
echo
"------------------------- Update process --------------------------------"
# check installation directory
installation_dir_chck
# check warden
client directory
# check
if $prefix/
warden
-
client directory
exist
warden_dir_chck
warden_dir_chck
# backup o
l
d warden
client
installation
#
make
backup o
f currently installe
d warden
-
client
package
backup
backup
# obtain current warden client user
# do uninstallation
obtain_warden_user
uninstall_warden_client
# make warden client directory
update_warden_dir
# create conf file
make_conf_file
# change permissions
change_permissions
echo
echo
"Please check configuration file in
$conf_file
!"
echo
echo
echo
"U
pdat
e was SUCCESSFUL!!!"
echo
"U
ninstallation of
$package_version
packag
e was SUCCESSFUL!!!"
# cleanup section
# cleanup section
rm
-rf
$err
rm
-rf
$err
$backup_dir
rm
-rf
$backup_dir
exit
0
exit
0
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment