Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
W
Warden
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
Show more breadcrumbs
Pavel Valach
Warden
Commits
5af60377
Commit
5af60377
authored
13 years ago
by
Tomáš Plesník
Browse files
Options
Downloads
Patches
Plain Diff
zmena verze skriptu; pridano zjistovani verze klienta urceneho k updatu; zmena odsazeni
parent
1b980a3c
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/warden-client/sh/update.sh
+159
-141
159 additions, 141 deletions
src/warden-client/sh/update.sh
with
159 additions
and
141 deletions
src/warden-client/sh/update.sh
+
159
−
141
View file @
5af60377
...
@@ -39,199 +39,213 @@ VERSION="1.0"
...
@@ -39,199 +39,213 @@ VERSION="1.0"
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
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 update process, see README file (section Update)."
echo
" For more information about update process, see README file (section Update)."
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
"Update to
$package_name
package FAILED!!!"
echo
"Update
from
$old_package_name
to
$package_name
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
$backup_dir
rm
-rf
$backup_dir
echo
echo
echo
"Update from
$old_package_name
to
$package_name
package FAILED!!!"
echo
"Update to
$package_name
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 installation directory is
$prefix
!"
fi
fi
}
obtain_package_version
()
{
if
[
-f
$old_package_version_file
]
;
then
old_package_version
=
`
cat
$old_package_version_file
`
else
echo
"Sorry, but warden-client package is not installed!"
echo
"For installation of warden client package please use install.sh script."
exit
1
fi
}
}
perl_chck
()
perl_chck
()
{
{
echo
-n
"Checking Perl interpreter ... "
echo
-n
"Checking Perl interpreter ... "
which perl 1>/dev/null
;
ret_val
=
`
echo
$?
`
which perl 1>/dev/null
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
echo
"OK"
else
else
echo
"FAILED!"
echo
"FAILED!"
echo
"Error: Perl interpreter is not installed!"
echo
"Error: Perl interpreter is not installed!"
exit
1
exit
1
fi
fi
}
}
modules_chck
()
modules_chck
()
{
{
for
module
in
${
modules
[@]
}
;
for
module
in
${
modules
[@]
}
;
do
do
echo
-n
"Checking
$module
module ... "
echo
-n
"Checking
$module
module ... "
perl
-e
"use
$module
"
2>
$err
;
ret_val
=
`
echo
$?
`
perl
-e
"use
$module
"
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
done
done
}
}
installation_dir_chck
()
installation_dir_chck
()
{
{
echo
-n
"Checking installation directory ... "
echo
-n
"Checking installation 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
}
}
obtain_warden_user
()
obtain_warden_user
()
{
{
echo
-n
"Obtaining warden client directory owner ... "
echo
-n
"Obtaining warden client directory owner ... "
user
=
`
stat
-c
%U
$conf_file
`
2>
$err
;
ret_val
=
`
echo
$?
`
user
=
`
stat
-c
%U
$conf_file
`
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
}
}
update_warden_dir
()
update_warden_dir
()
{
{
echo
-n
"Updating warden client directory ... "
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
$?
`
rsync
-q
--recursive
--archive
--delete
--exclude
=
"
$dirname
/warden-client/etc"
\
if
[
$ret_val
-eq
0
]
;
then
--include
=
"
$dirname
/warden-client/etc/package_version.txt"
\
echo
"OK"
--exclude
=
"
$dirname
/warden-client/var"
\
else
warden-client
$prefix
2>
$err
;
ret_val
=
`
echo
$?
`
err_clean
if
[
$ret_val
-eq
0
]
;
then
fi
echo
"OK"
else
files
=(
CHANGELOG INSTALL LICENSE README README.cesnet
)
err_clean
for
file
in
${
files
[@]
}
;
fi
do
cp
-u
"
`
dirname
$0
`
/
$file
"
"
$client_path
/doc"
files
=(
CHANGELOG INSTALL LICENSE README README.cesnet
)
done
for
file
in
${
files
[@]
}
;
cp
-u
"
`
dirname
$0
`
/uninstall.sh"
"
$client_path
"
do
cp
-u
"
$dirname
/
$file
"
"
$client_path
/doc"
done
cp
-u
"
$dirname
/uninstall.sh"
"
$client_path
"
}
}
make_conf_file
()
make_conf_file
()
{
{
echo
-n
"Creating configuration file ... "
echo
-n
"Creating configuration file ... "
uri
=
`
cat
$conf_file
|
grep
'$URI'
`
uri
=
`
cat
$conf_file
|
grep
'$URI'
`
ssl_key_file
=
`
cat
$conf_file
|
grep
'$SSL_KEY_FILE'
`
ssl_key_file
=
`
cat
$conf_file
|
grep
'$SSL_KEY_FILE'
`
ssl_cert_file
=
`
cat
$conf_file
|
grep
'$SSL_CERT_FILE'
`
ssl_cert_file
=
`
cat
$conf_file
|
grep
'$SSL_CERT_FILE'
`
ssl_ca_file
=
`
cat
$conf_file
|
grep
'$SSL_CA_FILE'
`
ssl_ca_file
=
`
cat
$conf_file
|
grep
'$SSL_CA_FILE'
`
echo
"#
echo
"#
# warden-client.conf - configuration file for the warden sender/receiver client
# warden-client.conf - configuration file for the warden sender/receiver client
#
#
...
@@ -255,23 +269,24 @@ $ssl_cert_file
...
@@ -255,23 +269,24 @@ $ssl_cert_file
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$ssl_ca_file
$ssl_ca_file
"
>
$conf_file
2>
$err
;
ret_val
=
`
echo
$?
`
"
>
$conf_file
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
if
[
$ret_val
-eq
0
]
;
then
else
echo
"OK"
err_clean
else
fi
err_clean
fi
}
}
change_permissions
()
change_permissions
()
{
{
echo
-n
"Changing permissions to updated package ... "
echo
-n
"Changing permissions to updated package ... "
chown
-R
$user
:
$client_path
2>
$err
;
ret_val
=
`
echo
$?
`
chown
-R
$user
:
$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
}
}
...
@@ -291,12 +306,12 @@ shell_chck
...
@@ -291,12 +306,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
...
@@ -306,13 +321,18 @@ root_chck
...
@@ -306,13 +321,18 @@ root_chck
params_chck
params_chck
# create variables
# create variables
package_name
=
"warden-client-
$VERSION
"
dirname
=
`
dirname
$0
`
package_version
=
`
cat
$dirname
/warden-client/etc/package_version.txt
`
client_path
=
"
$prefix
/warden-client"
client_path
=
"
$prefix
/warden-client"
etc
=
"
$client_path
/etc"
etc
=
"
$client_path
/etc"
old_package_version_file
=
"
$etc
/package_version.txt"
conf_file
=
"
$etc
/warden-client.conf"
conf_file
=
"
$etc
/warden-client.conf"
err
=
"/tmp/warden-err"
err
=
"/tmp/warden-err"
backup_dir
=
"/tmp/warden-backup"
backup_dir
=
"/tmp/warden-backup"
# obtain version of old warden client
#obtain_package_version # ENABLE for next client package
old_package_version
=
"1.0.0"
echo
echo
echo
"------------------------- Dependencies check-in -------------------------"
echo
"------------------------- Dependencies check-in -------------------------"
...
@@ -323,7 +343,6 @@ perl_chck
...
@@ -323,7 +343,6 @@ perl_chck
# Perl modules test
# Perl modules test
modules_chck
modules_chck
echo
echo
echo
"------------------------- Update process --------------------------------"
echo
"------------------------- Update process --------------------------------"
...
@@ -351,10 +370,9 @@ change_permissions
...
@@ -351,10 +370,9 @@ change_permissions
echo
echo
echo
"Please check configuration file in
$conf_file
!"
echo
"Please check configuration file in
$conf_file
!"
echo
echo
echo
"Update
to
$package_name
package was SUCCESSFUL!!!"
echo
"Update
from
$old_package_version
to
$package_version
package 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