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
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-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"
#-------------------------------------------------------------------------------
usage
()
{
echo
"Usage:
`
basename
$0
`
[-d <directory>] [-hV]"
echo
"-d <directory> installation directory (default: /opt)"
echo
"-h print this help"
echo
"-V print script version number and exit"
echo
echo
"Example: ./
`
basename
$0
`
-d /opt"
echo
echo
"Note: You must be root for running this script."
echo
" For more information about update process, see README file (section Update)."
echo
exit
0
echo
"Usage:
`
basename
$0
`
[-d <directory>] [-hV]"
echo
"-d <directory> installation directory (default: /opt)"
echo
"-h print this help"
echo
"-V print script version number and exit"
echo
echo
"Example: ./
`
basename
$0
`
-d /opt"
echo
echo
"Note: You must be root for running this script."
echo
" For more information about update process, see README file (section Update)."
echo
exit
0
}
version
()
{
echo
"
`
basename
${
0
}
`
- current version is
$VERSION
"
exit
0
echo
"
`
basename
${
0
}
`
- current version is
$VERSION
"
exit
0
}
err
()
{
echo
"FAILED!"
cat
$err
rm
-rf
$err
rm
-rf
$backup_dir
echo
echo
"Update to
$package_name
package FAILED!!!"
exit
1
echo
"FAILED!"
cat
$err
rm
-rf
$err
rm
-rf
$backup_dir
echo
echo
"Update
from
$old_package_name
to
$package_name
package FAILED!!!"
exit
1
}
err_clean
()
{
echo
"FAILED!"
echo
" -> Reverting changes of warden client package ... OK"
rm
-rf
"
$client_path
/*"
>
/dev/null 2>&1
cp
-R
"
$backup_dir
/*"
$client_path
cat
$err
rm
-rf
$err
rm
-rf
$backup_dir
echo
echo
"Update to
$package_name
package FAILED!!!"
exit
1
echo
"FAILED!"
echo
" -> Reverting changes of warden client package ... OK"
rm
-rf
"
$client_path
/*"
>
/dev/null 2>&1
cp
-R
"
$backup_dir
/*"
$client_path
cat
$err
rm
-rf
$err
$backup_dir
echo
echo
"Update from
$old_package_name
to
$package_name
package FAILED!!!"
exit
1
}
os_chck
()
{
OS
=
`
uname
`
if
[
"
$OS
"
!=
"Linux"
]
;
then
echo
"Sorry, unsupported operating system detected -
\"
$OS
\"
!"
exit
1
fi
OS
=
`
uname
`
if
[
"
$OS
"
!=
"Linux"
]
;
then
echo
"Sorry, unsupported operating system detected -
\"
$OS
\"
!"
exit
1
fi
}
shell_chck
()
{
SHELL
=
`
echo
$SHELL
`
if
[
"
$SHELL
"
!=
"/bin/bash"
]
;
then
echo
"Sorry, this script is usable in Bourne Again Shell (bash) only!"
exit
1
fi
SHELL
=
`
echo
$SHELL
`
if
[
"
$SHELL
"
!=
"/bin/bash"
]
;
then
echo
"Sorry, this script is usable in Bourne Again Shell (bash) only!"
exit
1
fi
}
root_chck
()
{
if
[
$UID
-ne
0
]
;
then
echo
"You must be root for running this script!"
exit
1
fi
if
[
$UID
-ne
0
]
;
then
echo
"You must be root for running this script!"
exit
1
fi
}
params_chck
()
{
if
[
-z
$prefix
]
;
then
prefix
=
/opt
echo
"Warning: parameter -d <directory> is not set - default installation directory is
$prefix
!"
fi
if
[
-z
$prefix
]
;
then
prefix
=
/opt
echo
"Warning: parameter -d <directory> is not set - default installation directory is
$prefix
!"
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
()
{
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
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
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
()
{
echo
-n
"Checking installation directory ... "
if
[
!
-d
$prefix
]
;
then
echo
"FAILED!"
ls
$prefix
exit
1
else
echo
"OK"
fi
echo
-n
"Checking installation directory ... "
if
[
!
-d
$prefix
]
;
then
echo
"FAILED!"
ls
$prefix
exit
1
else
echo
"OK"
fi
}
warden_dir_chck
()
{
echo
-n
"Checking warden client directory ... "
if
[
!
-d
$client_path
]
;
then
echo
"FAILED!"
ls
$prefix
exit
1
else
echo
"OK"
fi
echo
-n
"Checking warden client directory ... "
if
[
!
-d
$client_path
]
;
then
echo
"FAILED!"
ls
$prefix
exit
1
else
echo
"OK"
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
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
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
files
=(
CHANGELOG INSTALL LICENSE README README.cesnet
)
for
file
in
${
files
[@]
}
;
do
cp
-u
"
`
dirname
$0
`
/
$file
"
"
$client_path
/doc"
done
cp
-u
"
`
dirname
$0
`
/uninstall.sh"
"
$client_path
"
echo
-n
"Updating warden client directory ... "
rsync
-q
--recursive
--archive
--delete
--exclude
=
"
$dirname
/warden-client/etc"
\
--include
=
"
$dirname
/warden-client/etc/package_version.txt"
\
--exclude
=
"
$dirname
/warden-client/var"
\
warden-client
$prefix
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err_clean
fi
files
=(
CHANGELOG INSTALL LICENSE README README.cesnet
)
for
file
in
${
files
[@]
}
;
do
cp
-u
"
$dirname
/
$file
"
"
$client_path
/doc"
done
cp
-u
"
$dirname
/uninstall.sh"
"
$client_path
"
}
make_conf_file
()
{
echo
-n
"Creating configuration file ... "
uri
=
`
cat
$conf_file
|
grep
'$URI'
`
ssl_key_file
=
`
cat
$conf_file
|
grep
'$SSL_KEY_FILE'
`
ssl_cert_file
=
`
cat
$conf_file
|
grep
'$SSL_CERT_FILE'
`
ssl_ca_file
=
`
cat
$conf_file
|
grep
'$SSL_CA_FILE'
`
echo
"#
echo
-n
"Creating configuration file ... "
uri
=
`
cat
$conf_file
|
grep
'$URI'
`
ssl_key_file
=
`
cat
$conf_file
|
grep
'$SSL_KEY_FILE'
`
ssl_cert_file
=
`
cat
$conf_file
|
grep
'$SSL_CERT_FILE'
`
ssl_ca_file
=
`
cat
$conf_file
|
grep
'$SSL_CA_FILE'
`
echo
"#
# warden-client.conf - configuration file for the warden sender/receiver client
#
...
...
@@ -255,23 +269,24 @@ $ssl_cert_file
#-------------------------------------------------------------------------------
$ssl_ca_file
"
>
$conf_file
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err_clean
fi
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err_clean
fi
}
change_permissions
()
{
echo
-n
"Changing permissions to updated package ... "
chown
-R
$user
:
$client_path
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err_clean
fi
echo
-n
"Changing permissions to updated package ... "
chown
-R
$user
:
$client_path
2>
$err
;
ret_val
=
`
echo
$?
`
if
[
$ret_val
-eq
0
]
;
then
echo
"OK"
else
err_clean
fi
}
...
...
@@ -291,12 +306,12 @@ shell_chck
# read input
while
getopts
"d:Vh"
options
;
do
case
$options
in
d
)
prefix
=
$OPTARG
;;
h
)
usage
;;
V
)
version
;;
*
)
usage
;;
esac
case
$options
in
d
)
prefix
=
$OPTARG
;;
h
)
usage
;;
V
)
version
;;
*
)
usage
;;
esac
done
# root test
...
...
@@ -306,13 +321,18 @@ root_chck
params_chck
# 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"
etc
=
"
$client_path
/etc"
old_package_version_file
=
"
$etc
/package_version.txt"
conf_file
=
"
$etc
/warden-client.conf"
err
=
"/tmp/warden-err"
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
"------------------------- Dependencies check-in -------------------------"
...
...
@@ -323,7 +343,6 @@ perl_chck
# Perl modules test
modules_chck
echo
echo
"------------------------- Update process --------------------------------"
...
...
@@ -351,10 +370,9 @@ change_permissions
echo
echo
"Please check configuration file in
$conf_file
!"
echo
echo
"Update
to
$package_name
package was SUCCESSFUL!!!"
echo
"Update
from
$old_package_version
to
$package_version
package was SUCCESSFUL!!!"
# cleanup section
rm
-rf
$err
rm
-rf
$backup_dir
rm
-rf
$err
$backup_dir
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