Skip to content
Snippets Groups Projects
Select Git revision
  • 1b7f0e0f1ec49101e4d79eea3b33006160492f9f
  • master default protected
  • rednatco-v2
  • rednatco
  • test
  • ntc-tube-uniform-color
  • ntc-tube-missing-atoms
  • restore-vertex-array-per-program
  • watlas2
  • dnatco_new
  • cleanup-old-nodejs
  • webmmb
  • fix_auth_seq_id
  • update_deps
  • ext_dev
  • ntc_balls
  • nci-2
  • plugin
  • bugfix-0.4.5
  • nci
  • servers
  • v0.5.0-dev.1
  • v0.4.5
  • v0.4.4
  • v0.4.3
  • v0.4.2
  • v0.4.1
  • v0.4.0
  • v0.3.12
  • v0.3.11
  • v0.3.10
  • v0.3.9
  • v0.3.8
  • v0.3.7
  • v0.3.6
  • v0.3.5
  • v0.3.4
  • v0.3.3
  • v0.3.2
  • v0.3.1
  • v0.3.0
41 results

webpack.config.js

Blame
  • update.sh 6.70 KiB
    #!/bin/bash
    #
    # update.sh
    #
    # Copyright (C) 2011-2012 Cesnet z.s.p.o
    #
    # Use of this source is governed by a BSD-style license, see LICENSE file.
    
    
    VERSION="2.0"
    
    #-------------------------------------------------------------------------------
    #				FUNCTIONS
    #-------------------------------------------------------------------------------
    usage()
    {
    	echo "Usage: `basename $0` [-d <directory>] [-hV]"
    	echo "-d <directory>            destination 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
    }
    
    
    err()
    {
    	echo "FAILED!"
    	cat $err
    	rm -rf $err
    	rm -rf $backup_dir
    	echo
    	echo "Update from $old_package_version to $package_version 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 $backup_dir
    	echo
    	echo "Update from $old_package_version to $package_version package FAILED!!!"
    	exit 1
    }
    
    
    root_chck()
    {
    	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
    }
    
    
    obtain_package_version()
    {
    	if [ -f $old_package_version_file ]; then 
    		old_package_version=`cat $old_package_version_file`
    		if [ "$old_package_version" == "$package_version" ]; then
    			echo "Sorry, but $package_version package is already installed!"
    			exit 1
    		fi
    	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 ... "
    	if which perl 1> /dev/null; 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 ... "
    		if perl -e "use $module" 2> $err; then
    			echo "OK"
    		else
    			err
    		fi
    	done
    }
    
    
    warden_dir_chck()
    {
    	echo -n "Checking warden client directory ... "
    	if [ ! -d $client_path ]; then
    		echo "FAILED!"
    		ls $client_path
    		exit 1
    	else
    		echo "OK"
    	fi
    }
    
    
    backup()
    {
    	echo -n "Backing-up warden client directory ... "
    	mkdir $backup_dir
    	if cp -R ${client_path}/* $backup_dir 2> $err; then
    		echo "OK"
    	else
    		err
    fi
    }
    
    
    obtain_warden_user()
    {
    	echo -n "Obtaining warden client directory owner ... "
    	if user=`stat -c %U $conf_file` 2> $err; then
    		echo "OK"
    	else
    		err
    	fi
    }
    
    
    update_warden_dir()
    {
    	echo -n "Updating warden client directory ... "
    	if rsync -q --recursive --archive --delete --exclude='etc' --exclude='var' ${dirname}/warden-client $prefix 2> $err; then
    		echo "OK"
    	else
    		err_clean
    	fi
    
    	files=(CHANGELOG INSTALL LICENSE README README.cesnet)
    	for file in ${files[@]};
    	do  
    		cp ${dirname}/$file ${client_path}/doc
    	done
    	cp ${dirname}/uninstall.sh $client_path
    	cp ${dirname}/warden-client/etc/package_version $etc
    }
    
    
    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 "#
    # warden-client.conf - configuration file for the warden sender/receiver client
    #
    
    #-------------------------------------------------------------------------------
    # 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()
    {
    	echo -n "Changing permissions to updated package ... "
    	chown -R $user: $client_path 2>$err || err_clean
    	key_file=`echo $ssl_key_file | cut -d "\"" -f 2`
    	cert_file=`echo $ssl_cert_file | cut -d "\"" -f 2`
           	chmod 400 $key_file $cert_file || err_clean 
           	chmod 644 $old_package_version_file || err_clean
    	if chmod 600 $conf_file; then
    		echo "OK"
    	else
    		err_clean
    	fi 
    }
    
    
    
    #-------------------------------------------------------------------------------
    #				MAIN
    #-------------------------------------------------------------------------------
    
    # list of used Perl modules
    modules=(SOAP::Lite IO::Socket::SSL SOAP::Transport::HTTP FindBin DateTime)
    
    # read input
    while getopts "d:Vh" options; do
    	case $options in
    		d ) prefix=$OPTARG;;
    		h ) usage;;
    		V ) version;;
    		* ) usage;;
    	esac
    done
    
    # root test
    root_chck
    
    # params test
    params_chck
    
    # create variables
    dirname=`dirname $0`
    package_version=`cat ${dirname}/warden-client/etc/package_version`
    [[ $prefix == */ ]] && prefix="${prefix%?}" # remove last char (slash) from prefix
    client_path="${prefix}/warden-client"
    etc="${client_path}/etc"
    old_package_version_file="${etc}/package_version"
    conf_file="${etc}/warden-client.conf"
    err="/tmp/warden-err"
    backup_dir="/tmp/warden-backup"
    
    # obtain version of old warden client
    obtain_package_version
    
    echo
    echo "------------------------- Dependencies check-in -------------------------"
    
    # Perl interpreter test
    perl_chck
    
    # Perl modules test
    modules_chck
    
    echo
    echo "------------------------- Update process --------------------------------"
    
    # check warden client directory
    warden_dir_chck
    
    # backup old warden client installation
    backup
    
    # obtain current warden client user
    obtain_warden_user
    
    # 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 "Warden client directory: $client_path"
    echo
    echo "Update from $old_package_version to $package_version package was SUCCESSFUL!!!"
    
    # cleanup section
    rm -rf $err $backup_dir
    
    exit 0