UpdateController/update_psa

94 lines
2.4 KiB
Bash
Executable File

#! /bin/bash -
# Implementing update functionality for an PSA.
###############################################################################
#
# UPDATE PSA
# Usage:
# update_psa [ --? ]
# [ -m ]
# [ --help ]
# [ --wdir "working_directory" ]
# [ --file "config_file" ]
# [ --dbg ]
# [ --version ]
#
# ./update_psa --file $PWD/update_psa.conf --wdir $PWD
#
###############################################################################
# if [ $# -eq 0 ]; then
# no parameters given -> nothing to do
# exit 0
#fi
if [ -z $IFS ]; then
IFS=$'\n'
fi
MAINTENANCE="NO"
WORKING_DIRECTORY=${PWD}
# parse commandline parameters
while test $# -gt 0; do
case $1 in
--maintenance | -m )
MAINTENANCE="YES"
;;
--file | --fil | --fi | --f | -file | -fil | -fi | -f )
shift
CONFIGFILENAME="$1"
;;
--zone | --zon | --zo | --z | -zone | -zon | -zo | -z )
shift
ZONE="$1"
;;
--wdir | --wdi | --wd | --w | -wdir | -wdi | -wd | -w )
shift
if [ "$1" = "." ]; then
WORKING_DIRECTORY="$PWD"
else
WORKING_DIRECTORY="$1"
fi
;;
--help | -hel | --he | --h | '--?' | -help | -hel | -he | -h | '-?' )
usage_and_exit 0
;;
--version | --versio | --versi | --vers | --ver | --ve | --v | \
-version | -versio | -versi | -vers | -ver | -ve | -v )
version
exit 0
;;
--dbg | --db | --d | -dbg | -db | -d )
shift
set_dbg_level $DEBUG
;;
-*)
error "Unrecognized option: $1"
;;
*)
break
;;
esac
shift
done
if [ -z "$WORKING_DIRECTORY" ]; then
echo "WORKING_DIRECTORY empty. exiting..."
exit 1
fi
if [ ! -d "$WORKING_DIRECTORY" ]; then
echo "WORKING_DIRECTORY $WORKING_DIRECTORY does not exist! exiting..."
exit 1
fi
cd "$WORKING_DIRECTORY"
source ./update_psa_impl
if read_config; then
update_psa
exit 0
fi
exit 1
###############################################################################