#!/bin/sh
#=============================================================================
# Copyrights : CNRS
# Authors : Oleg Lodygensky, Etienne Urbah
# Acknowledgment : XtremWeb-HEP is based on XtremWeb 1.8.0 by INRIA : http://www.xtremweb.net/
# Web : http://www.xtremweb-hep.org
#
# This file is part of XtremWeb-HEP.
#
# XtremWeb-HEP is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# XtremWeb-HEP is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with XtremWeb-HEP. If not, see .
#=============================================================================
#=============================================================================
#
# File : xwconfigure
#
# Purpose : Shell script permitting the configuration of XtremWeb-HEP
# installers
#
# 2009-02-06 Oleg Lodygensky (lodygens A_T lal D_O_T IN2P3 D_O_T fr)
#
# 2014-02-04 Etienne Urbah :
# - By default, set DBVENDOR='mysql' and DBENGINE='InnoDB'.
# - Improve readability and some messages.
#
#=============================================================================
#=============================================================================
# Some variables
#=============================================================================
ROOTDIR=`dirname $0`
echo $ROOTDIR | grep -E "^./.*" > /dev/null 2>&1
[ $? -eq 0 ] && ROOTDIR=`pwd`/$ROOTDIR
currentDir=`pwd`
cd $ROOTDIR/..
ROOTDIR=`pwd`
cd $currentDir
VERSION=%XWVERSION%
INSTALLDIR=%INSTALLDIR%
BINDIR=$ROOTDIR/bin
CONFDIR=$ROOTDIR/conf
DOCDIR=$ROOTDIR/doc
INSTALLERSDIR=$ROOTDIR/installers
KEYSTOREDIR=$ROOTDIR/keystore
LIBDIR=$ROOTDIR/lib
XWCONFVALUES=$CONFDIR/xwconfigure.values
#INITD="/etc/init.d"
SQL_SCRIPTS_DIR=$BINDIR/db-maintenance
XWRMDBSQL=$SQL_SCRIPTS_DIR/xwhep-core-tables-drop-triggers-and-tables.sql
XWSETUPDBSQLIN=$SQL_SCRIPTS_DIR/xwhep-core-tables-create-tables.sql.in
XWSETUPDBSQL=$SQL_SCRIPTS_DIR/xwhep-core-tables-create-tables.sql
XWSETUPDBSQL_FK=$SQL_SCRIPTS_DIR/xwhep-core-tables-foreign-keys-live.sql
XWSETUPDBSQL_TRIGGERS_LIST="$SQL_SCRIPTS_DIR/xwhep-core-tables-create-triggers-for-data-coming-from-8.sql \
$SQL_SCRIPTS_DIR/xwhep-core-tables-create-triggers-for-history-coming-from-8.sql"
XWSETUPDBSQL_QUERY_FOR_TABLE_VIEWS=$SQL_SCRIPTS_DIR/xwhep-core-tables-query-for-create-views.sql
XWSETUPDBSQL_QUERY_FOR_USERS_VIEWS=$SQL_SCRIPTS_DIR/xwhep-core-tables-query-for-create-users-views.sql
XWSETUPDBSQL_VIEWS_FOR_TABLES=$SQL_SCRIPTS_DIR/xwhep-core-tables-create-views-for-tables.sql
XWSETUPDBSQL_VIEWS_FOR_USERS=$SQL_SCRIPTS_DIR/xwhep-core-tables-create-users-views.sql
XWSETUPDBSQL_VIEWS_LIST="$XWSETUPDBSQL_VIEWS_FOR_TABLES \
$XWSETUPDBSQL_VIEWS_FOR_USERS \
$SQL_SCRIPTS_DIR/xwhep-core-tables-create-views-for-sessions-and-groups.sql \
$SQL_SCRIPTS_DIR/xwhep-core-tables-create-views-for-relationships.sql \
$SQL_SCRIPTS_DIR/xwhep-core-tables-create-views-for-offering-and-billing.sql \
$SQL_SCRIPTS_DIR/xwhep-core-tables-create-view-hosts-matching-works.sql"
XWCHECKDBSQLNAME=xwcheckdb
XWUPDATEDBSQLNAME=xwupdatedb
XWSETVERSIONSQL=$SQL_SCRIPTS_DIR/xwsetversion.sql
DBVENDOR="mysql"
DBENGINE="InnoDB"
GENKEYS=$BINDIR/xwhepgenkeys
OPENIDSH=$BINDIR/xwhepupdateopenidcerts
XWGMOND=$BINDIR/xtremweb.gmond.pl
XWSERVERCONFFILENAME=xtremweb.server.conf
XWCLIENTCONFFILENAME=xtremweb.client.conf
XWBRIDGECONFFILENAME=$XWCLIENTCONFFILENAME
XWCLIENTCONFTEMPLATEFILENAME=xtremweb.client.conf.template
XWWORKERCONFFILENAME=xtremweb.worker.conf
XWSERVERCONFFILE=$CONFDIR/$XWSERVERCONFFILENAME
XWCLIENTCONFFILE=$CONFDIR/$XWCLIENTCONFFILENAME
XWBRIDGECONFFILE=$XWCLIENTCONFFILE
XWCLIENTCONFTEMPLATEFILE=$CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME
XWWORKERCONFFILE=$CONFDIR/$XWWORKERCONFFILENAME
SEDCMDS=$BINDIR/xwconfigure.seds
XWELECTRONICKEYS=""
XWSERVERKEYSTOREFILENAME=xwhepserver.keys
XWWORKERKEYSTOREFILENAME=xwhepworker.keys
XWCLIENTKEYSTOREFILENAME=xwhepclient.keys
XWBRIDGEKEYSTOREFILENAME=$XWCLIENTKEYSTOREFILENAME
XWCERTFILENAME=xwhepcert.pem
XWSERVERKEYSTOREFILE=$KEYSTOREDIR/$XWSERVERKEYSTOREFILENAME
XWWORKERKEYSTOREFILE=$KEYSTOREDIR/$XWWORKERKEYSTOREFILENAME
XWCLIENTKEYSTOREFILE=$KEYSTOREDIR/$XWCLIENTKEYSTOREFILENAME
XWBRIDGEKEYSTOREFILE=$XWCLIENTKEYSTOREFILE
XWCERTFILE=$KEYSTOREDIR/$XWCERTFILENAME
DEBIANVERSION="/etc/debian_version"
DEBIANOS=0
[ -f $DEBIANVERSION ] && DEBIANOS=1
REDHATVERSION="/etc/redhat-release"
REDHATOS=0
[ -f $REDHATVERSION ] && REDHATOS=1
MACVERSION='uname -s'
MACOS=0
[ "$MACVERSION" = "Darwin" ] && MACOS=1
PKGS="YES"
FORCEYES="NO"
KEEPDB="YES"
NEWKEYSTORE=0
NEWALIAS=0
#=============================================================================
# Function fatal
#=============================================================================
fatal() {
cat < If you don't know it, please ask your system administrator
-1.1- Database server, if using MySQL
=> The name or IP address of your MySQL server
-1.2- Database name
=> If you don't have a valid MySQL administrator account, you won't be able to perform this
=> In such a case, please ask your system administrator to create one new empty database for us
-1.3- Database user (login and password), if using MySQL
=> This account must have insert/update/delete privileges to the previous database
=> This account will be used by the XW server to access database
=> If you don't have a valid MySQL administrator account, you won't be able to perform this
=> In such a case, please ask your system administrator to create one for you
-2- Electronic key passphrase
=> This is free and up to you
-3- Electronic key password for the server
=> This is free and up to you
-4- Electronic key password for the worker
=> This is free and up to you
-5- Electronic key password for the client
=> This is free and up to you
All informations are stored in $XWCONFVALUES
So that, you can stop this script when you want, and don't have to re-enter all informations
To reset any variable, edit or erase $XWCONFVALUES
You should be aware that $XWCONFVALUES stores some critical informations!!!
-----------------------------
EOF
if [ -n "$help" ] ; then
cat < /dev/null 2>&1
if [ $? -ne 0 ] ; then
warning "Mysql is not found in \$PATH. Forcing HyperSQL DB engine"
DBVENDOR="hsqldb"
fi
# Test Java
[ -f /etc/java.conf ] && . /etc/java.conf
[ "$JAVA_HOME" != "" ] && export PATH=$PATH:$JAVA_HOME/bin
type java > /dev/null 2>&1 || usage "Java is not installed; please install it and/or correct your \$PATH env variable" "STOP"
# Test keytool
type keytool > /dev/null 2>&1 || usage "Keytool is not installed; please install it and/or correct your \$PATH env variable" "STOP"
# Test uuidgen
type uuidgen > /dev/null 2>&1 || usage "UUIDGEN is not installed; please install it and/or correct your \$PATH env variable. This can be found in package uuid-runtime (Debian)." "STOP"
# Test wget
WGET="wget --timeout=5 --tries=1 -o /dev/null -O /dev/null"
type wget > /dev/null 2>&1
if [ $? -ne 0 ] ; then
usage "wget is not installed; please install it and/or correct your \$PATH env variable." "STOP"
fi
# Test zip
type zip > /dev/null 2>&1
if [ $? -ne 0 ] ; then
usage "zip is not installed; please install it and/or correct your \$PATH env variable." "STOP"
fi
test -f $XWSETUPDBSQL > /dev/null 2>&1
if [ $? -eq 0 ] ; then
test -w $XWSETUPDBSQL > /dev/null 2>&1
if [ $? -ne 0 ] ; then
usage "Can't write $XWSETUPDBSQL" "STOP"
fi
fi
test -w $XWSERVERCONFFILE > /dev/null 2>&1
if [ $? -ne 0 ] ; then
usage "Can't write $XWSERVERCONFFILE" "STOP"
fi
test -w $XWWORKERCONFFILE > /dev/null 2>&1
if [ $? -ne 0 ] ; then
usage "Can't write $XWWORKERCONFFILE" "STOP"
fi
test -w $XWCLIENTCONFFILE > /dev/null 2>&1
if [ $? -ne 0 ] ; then
usage "Can't write $XWCLIENTCONFFILE" "STOP"
fi
test -w $XWBRIDGECONFFILE > /dev/null 2>&1
if [ $? -ne 0 ] ; then
usage "Can't write $XWBRIDGECONFFILE" "STOP"
fi
usage
if [ -f $XWCONFVALUES ] ; then
. $XWCONFVALUES
else
FORCEYES="NO"
fi
rm -f $XWCONFVALUES
touch $XWCONFVALUES
if [ "$FORCEYES" = "NO" -o "$XWUSER" = "" ] ; then
echo
printf "Please enter a account login that will be used to run the middleware (installers will create this account on volunter resources) ['$XWUSER'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$XWUSER" ] && TEMP=$XWUSER
XWUSER=$TEMP
echo "XWUSER='$XWUSER'">> $XWCONFVALUES
if [ "$FORCEYES" = "NO" -o "$DBVENDOR" = "" ] ; then
echo
printf "Please enter your DB vendor (you can choose either 'mysql' or 'hsqldb') ['$DBVENDOR'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$DBVENDOR" ] && TEMP=$DBVENDOR
DBVENDOR=$TEMP
if [ "$DBVENDOR" != "hsqldb" ] ; then
[ "$DBVENDOR" != "mysql" ] && warning "Unknown engine $DBVENDOR. Forcing MySQL DB vendor"
DBVENDOR="mysql"
fi
echo "DBVENDOR='$DBVENDOR'">> $XWCONFVALUES
if [ "$FORCEYES" = "NO" -o "$DBENGINE" = "" ] ; then
echo
echo "For the DB engine, you can choose either 'memory', 'MyISAM' or 'InnoDB'"
cat <> $XWCONFVALUES
if [ "$DBVENDOR" = "hsqldb" ] ; then
[ "$DBENGINE" = "memory" ] && DBENGINE="mem"
else
[ "$DBENGINE" = "mem" ] && DBENGINE="memory"
fi
if [ "$FORCEYES" = "NO" ] ; then
echo
if [ "$DBVENDOR" != "hsqldb" ] ; then
printf "Please enter your DB server ['$DBHOST'] : "
read TEMP
fi
else
TEMP=""
fi
[ -z "$TEMP" ] && TEMP=$DBHOST
DBHOST=$TEMP
echo "DBHOST='$DBHOST'">> $XWCONFVALUES
if [ "$FORCEYES" = "NO" -o "$DBADMINLOGIN" = "" ] ; then
if [ "$DBVENDOR" != "hsqldb" ] ; then
echo
echo "Please enter your DB administrator login (this should be set)"
printf "If you don't have it, or don't have its password, leave this empty ['$DBADMINLOGIN'] : "
read TEMP
else
TEMP="sa"
info "Using HyperSQL : DBADMINLOGIN forced to '$TEMP' "
fi
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$DBADMINLOGIN" ] && TEMP=$DBADMINLOGIN
DBADMINLOGIN=$TEMP
echo "DBADMINLOGIN='$DBADMINLOGIN'">> $XWCONFVALUES
if [ -n "$DBADMINLOGIN" ] ; then
if [ "$FORCEYES" = "NO" ] ; then
if [ "$DBVENDOR" != "hsqldb" ] ; then
echo
printf "Please enter your DB administrator password (this should be set) ['$DBADMINPASSWORD'] : "
read TEMP
else
TEMP=""
info "Using HyperSQL : DBADMINPASSWORD forced to '$TEMP' "
fi
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$DBADMINPASSWORD" ] && TEMP=$DBADMINPASSWORD
DBADMINPASSWORD=$TEMP
echo "DBADMINPASSWORD='$DBADMINPASSWORD'">> $XWCONFVALUES
fi
[ "$DBNAME" = "" ] && DBNAME="xtremweb"
if [ "$FORCEYES" = "NO" -o "$DBNAME" = "" ] ; then
echo
printf "Please enter your DB schema (this must be set) ['$DBNAME'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$DBNAME" ] && TEMP=$DBNAME
DBNAME=$TEMP
echo "DBNAME='$DBNAME'">> $XWCONFVALUES
if [ "$DBVENDOR" != "hsqldb" ] ; then
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$DBUSERLOGIN" = "" ] ; then
echo
printf "For the connection of the XW server to the '$DBNAME' schema of the DB server, please enter a valid DB user name (this must be set)"
if [ -z "$DBADMINLOGIN" ] ; then
echo
echo "You did not provide the DB administrator login."
printf "So, your DB administrator must have already set this DB user name with full access to database schema '$DBNAME'."
fi
printf " ['$DBUSERLOGIN'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$DBUSERLOGIN" ] && TEMP=$DBUSERLOGIN
DBUSERLOGIN=$TEMP
if [ -z "$DBUSERLOGIN" ] ; then
echo "DBUSERLOGIN can not be empty"
else
CONTINUER="OK"
fi
DBUSERLOGIN=$TEMP
done
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$DBUSERPASSWORD" = "" ] ; then
echo
printf "For the connection of the XW server to the '$DBNAME' schema of the DB server, please enter a valid DB user password (this must be set)"
if [ -z "$DBADMINLOGIN" ] ; then
echo
echo "You did not provide the DB administrator login."
printf "So, your DB administrator must have already set this DB user password."
fi
printf " ['$DBUSERPASSWORD'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$DBUSERPASSWORD" ] && TEMP=$DBUSERPASSWORD
DBUSERPASSWORD=$TEMP
if [ -z "$DBUSERPASSWORD" ] ; then
echo "DBUSERPASSWORD can not be empty"
else
CONTINUER="OK"
fi
done
else
DBUSERLOGIN="sa"
DBUSERPASSWORD=""
fi
echo "DBUSERLOGIN='$DBUSERLOGIN'">> $XWCONFVALUES
echo "DBUSERPASSWORD='$DBUSERPASSWORD'">> $XWCONFVALUES
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$XWADMINLOGIN" = "" ] ; then
echo
printf "Please enter an XW administrator login you will use to connect to XW server (this must be set) ['$XWADMINLOGIN'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$XWADMINLOGIN" ] && TEMP=$XWADMINLOGIN
XWADMINLOGIN=$TEMP
if [ -z "$XWADMINLOGIN" ] ; then
echo "XWADMINLOGIN can not be empty"
else
CONTINUER="OK"
fi
echo "XWADMINLOGIN='$XWADMINLOGIN'">> $XWCONFVALUES
done
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$XWADMINPASSWORD" = "" ] ; then
echo
printf "Please enter an XW administrator password you will use to connect to XW server (this must be set) ['$XWADMINPASSWORD'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$XWADMINPASSWORD" ] && TEMP=$XWADMINPASSWORD
XWADMINPASSWORD=$TEMP
if [ -z "$XWADMINPASSWORD" ] ; then
echo "XWADMINPASSWORD can not be empty"
else
CONTINUER="OK"
fi
echo "XWADMINPASSWORD='$XWADMINPASSWORD'">> $XWCONFVALUES
done
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$XWWORKERLOGIN" = "" ] ; then
echo
printf "Please enter an XW worker login which your workers will use to connect to XW server (this must be set) ['$XWWORKERLOGIN'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$XWWORKERLOGIN" ] && TEMP=$XWWORKERLOGIN
XWWORKERLOGIN=$TEMP
if [ -z "$XWWORKERLOGIN" ] ; then
echo "XWWORKERLOGIN can not be empty"
else
CONTINUER="OK"
fi
if [ "$XWWORKERLOGIN" = "$XWADMINLOGIN" ] ; then
echo "XWWORKERLOGIN and XWADMINLOGIN must be different"
CONTINUER=""
fi
echo "XWWORKERLOGIN='$XWWORKERLOGIN'">> $XWCONFVALUES
done
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$XWWORKERPASSWORD" = "" ] ; then
echo
printf "Please enter an XW worker password which your workers will use to connect to XW server (this must be set) ['$XWWORKERPASSWORD'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$XWWORKERPASSWORD" ] && TEMP=$XWWORKERPASSWORD
XWWORKERPASSWORD=$TEMP
if [ -z "$XWWORKERPASSWORD" ] ; then
echo "XWWORKERPASSWORD can not be empty"
else
CONTINUER="OK"
fi
echo "XWWORKERPASSWORD='$XWWORKERPASSWORD'">> $XWCONFVALUES
done
[ "$XWSERVER" = "" ] && XWSERVER=`uname -n`
if [ "$FORCEYES" = "NO" -o "$XWSERVER" = "" ] ; then
echo
printf "Please enter the resolved name or IP address where your XW server will run ['$XWSERVER'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" ] && TEMP=$XWSERVER
XWSERVER=$TEMP
echo "XWSERVER='$XWSERVER'">> $XWCONFVALUES
ls -l ${KEYSTOREDIR}/*.pem > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo "***********************"
echo " Electronic keys found "
for p in `ls ${KEYSTOREDIR}/*.pem`; do
b=`basename "$p"`
if [ $b = $XWCERTFILENAME ] ; then
continue
fi
if [ ! -r $p ] ; then
echo "*** [`date`] `basename $0` - ERROR: $p unreadable"
else
fn=`echo "$p" | sed "s/\.pem$//g"`
k="${fn}.key"
if [ ! -r $k ] ; then
echo "*** [`date`] `basename $0` - ERROR: $p found, but $k unreadable"
else
echo "*** [`date`] `basename $0` - INFO : Electronic key $p usable "
XWELECTRONICKEYS=$k
fi
fi
done
echo "***********************"
else
echo "***************************************"
echo " No electronic key found "
echo " Will generate self signed certificate "
echo "***************************************"
fi
CERTCN=$XWSERVER
echo "CERTCN='$CERTCN'">> $XWCONFVALUES
if [ "$FORCEYES" = "NO" ] ; then
echo
printf "Please enter a organization unit for your certificate (this should be set) ['$CERTOU'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$CERTOU" ] && TEMP=$CERTOU
CERTOU=$TEMP
echo "CERTOU='$CERTOU'">> $XWCONFVALUES
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$CERTO" = "" ] ; then
echo
printf "Please enter a organization for your certificate (this must be set) ['$CERTO'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$CERTO" ] && TEMP=$CERTO
CERTO=$TEMP
if [ -z "$CERTO" ] ; then
echo "CERTO can not be empty"
else
CONTINUER="OK"
fi
echo "CERTO='$CERTO'">> $XWCONFVALUES
done
if [ "$FORCEYES" = "NO" -o "$CERTL" = "" ] ; then
echo
printf "Please enter a locality for your certificate (this should be set) ['$CERTL'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$CERTL" ] && TEMP=$CERTL
CERTL=$TEMP
echo "CERTL='$CERTL'">> $XWCONFVALUES
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$CERTC" = "" ] ; then
echo
echo "Please enter a country for your certificate (this must be set)"
printf "Two letters only (e.g France : fr) ['$CERTC'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$CERTC" ] && TEMP=$CERTC
CERTC=$TEMP
if [ -z "$CERTC" ] ; then
echo "CERTC can not be empty"
else
CONTINUER="OK"
fi
echo "CERTC='$CERTC'">> $XWCONFVALUES
done
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$SSLKEYPASSPHRASE" = "" ] ; then
echo
printf "Please enter a passphrase needed to generate electronic keys (this must be set) ['$SSLKEYPASSPHRASE'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$SSLKEYPASSPHRASE" ] && TEMP=$SSLKEYPASSPHRASE
SSLKEYPASSPHRASE=$TEMP
if [ -z "$SSLKEYPASSPHRASE" ] ; then
echo "SSLKEYPASSPHRASE can not be empty"
else
CONTINUER="OK"
fi
echo "SSLKEYPASSPHRASE='$SSLKEYPASSPHRASE'">> $XWCONFVALUES
done
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$SSLKEYSERVERPASSWORD" = "" ] ; then
echo
printf "Please enter a password for the server electronic key store (this must be set) ['$SSLKEYSERVERPASSWORD'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$SSLKEYSERVERPASSWORD" ] && TEMP=$SSLKEYSERVERPASSWORD
SSLKEYSERVERPASSWORD=$TEMP
if [ -z "$SSLKEYSERVERPASSWORD" ] ; then
echo "SSLKEYSERVERPASSWORD can not be empty"
else
CONTINUER="OK"
fi
echo "SSLKEYSERVERPASSWORD='$SSLKEYSERVERPASSWORD'">> $XWCONFVALUES
done
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$SSLKEYWORKERPASSWORD" = "" ] ; then
echo
printf "Please enter a password for the worker electronic key store (this must be set) ['$SSLKEYWORKERPASSWORD'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$SSLKEYWORKERPASSWORD" ] && TEMP=$SSLKEYWORKERPASSWORD
SSLKEYWORKERPASSWORD=$TEMP
if [ -z "$SSLKEYWORKERPASSWORD" ] ; then
echo "SSLKEYWORKERPASSWORD can not be empty"
else
CONTINUER="OK"
fi
echo "SSLKEYWORKERPASSWORD='$SSLKEYWORKERPASSWORD'">> $XWCONFVALUES
done
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$SSLKEYCLIENTPASSWORD" = "" ] ; then
echo
printf "Please enter a password for the client electronic key store (this must be set) ['$SSLKEYCLIENTPASSWORD'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$SSLKEYCLIENTPASSWORD" ] && TEMP=$SSLKEYCLIENTPASSWORD
SSLKEYCLIENTPASSWORD=$TEMP
if [ -z "$SSLKEYCLIENTPASSWORD" ] ; then
echo "SSLKEYCLIENTPASSWORD can not be empty"
else
CONTINUER="OK"
fi
echo "SSLKEYCLIENTPASSWORD='$SSLKEYCLIENTPASSWORD'">> $XWCONFVALUES
done
if [ "$FORCEYES" = "NO" -o "$SSLKEYCLIENTPASSWORD" = "" ] ; then
echo
printf "Please enter a path where CA cert files are stored (this should be set) ['$X509CERTDIR'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" -a -n "$X509CERTDIR" ] && TEMP=$X509CERTDIR
X509CERTDIR=$TEMP
if [ -z "$X509CERTDIR" ] ; then
warning "X509CERTDIR is not set; clients will not be able to connect using certificates"
fi
echo "X509CERTDIR='$X509CERTDIR'">> $XWCONFVALUES
#
# 6 juin 2011 : this is not used
#
#if [ "$FORCEYES" = "NO" -o "$SSLKEYCLIENTPASSWORD" = "" ] ; then
# echo
# printf "Please enter a path where user cert files are stored (this should be set) ['$USERCERTDIR'] : "
# read TEMP
#else
TEMP=""
#fi
[ -z "$TEMP" -a -n "$USERCERTDIR" ] && TEMP=$USERCERTDIR
USERCERTDIR=$TEMP
#if [ -z "$USERCERTDIR" ] ; then
# warning "USERCERTDIR is not set; clients will not be able to conenct using certificates"
#fi
echo "USERCERTDIR='$USERCERTDIR'">> $XWCONFVALUES
CONTINUER=""
while [ -z $CONTINUER ] ; do
if [ "$FORCEYES" = "NO" -o "$XWUPGRADEURL" = "" ] ; then
echo
printf "Please enter an URL where workers will find the jar file for upgrading ['$XWUPGRADEURL'] : "
read TEMP
else
TEMP=""
fi
[ -z "$TEMP" ] && TEMP=$XWUPGRADEURL
XWUPGRADEURL=$TEMP
echo $XWUPGRADEURL | grep "localhost" > /dev/null 2>&1
RC=$?
[ $RC -ne 0 ] && echo $XWUPGRADEURL | grep '127.0.0.1' > /dev/null 2>&1 && RC=$?
if [ $RC -eq 0 ] ; then
echo "Upgrade URL is localhost : I guess this is for testing only..."
fi
echo $XWUPGRADEURL | grep "://" > /dev/null 2>&1
if [ $? -ne 0 ] ; then
echo "This is not a valild URL: must be like 'http://...'"
XWUPGRADEURL=""
continue
fi
echo $XWUPGRADEURL | grep ".jar" > /dev/null 2>&1
if [ $? -eq 0 ] ; then
$WGET $XWUPGRADEURL > /dev/null 2>&1
if [ $? -ne 0 ] ; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "Can't download xtremweb.jar from '$XWUPGRADEURL'"
echo "You will have to ensure that xtremweb.jar can be downloaded from '$XWUPGRADEURL'"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
if [ "$FORCEYES" = "NO" ] ; then
printf "(Hit Enter key) "
read
fi
fi
else
$WGET $XWUPGRADEURL/xtremweb.jar > /dev/null 2>&1
if [ $? -eq 0 ] ; then
XWUPGRADEURL=$XWUPGRADEURL/xtremweb.jar
echo "Upgrade URL set to '$XWUPGRADEURL'"
else
$WGET $XWUPGRADEURL/XWHEP/download/xtremweb.jar > /dev/null 2>&1
if [ $? -eq 0 ] ; then
XWUPGRADEURL=$XWUPGRADEURL/XWHEP/download/xtremweb.jar
echo "Upgrade URL set to '$XWUPGRADEURL'"
else
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "Can't download xtremweb.jar from '$XWUPGRADEURL'"
echo "You will have to ensure that xtremweb.jar can be found at '$XWUPGRADEURL'"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
if [ "$FORCEYES" = "NO" ] ; then
printf "(Hit Enter key) "
read
fi
fi
fi
fi
echo "XWUPGRADEURL='$XWUPGRADEURL'">> $XWCONFVALUES
CONTINUER="OK"
done
echo
echo "You entered :"
echo "**** Account to run the middleware : "
echo " USER = '$XWUSER'"
echo "**** Database configuration : "
echo " DBVENDOR = '$DBVENDOR'"
echo " DBENGINE = '$DBENGINE'"
echo " DBHOST = '$DBHOST'"
echo " DBNAME = '$DBNAME'"
echo " DBADMINLOGIN = '$DBADMINLOGIN'"
echo " DBADMINPASSWORD = '$DBADMINPASSWORD'"
echo " DBUSERLOGIN = '$DBUSERLOGIN'"
echo " DBUSERPASSWORD = '$DBUSERPASSWORD'"
echo "**** XtremWeb-HEP administrator client configuration : "
echo " XWADMINLOGIN = '$XWADMINLOGIN'"
echo " XWADMINPASSWORD = '$XWADMINPASSWORD'"
echo "**** XtremWeb-HEP public worker configuration : "
echo " XWWORKERLOGIN = '$XWWORKERLOGIN'"
echo " XWWORKERPASSWORD = '$XWWORKERPASSWORD'"
echo "**** XtremWeb-HEP server configuration : "
echo " XWSERVER = '$XWSERVER'"
echo " XWUPGRADEURL = '$XWUPGRADEURL'"
echo "**** CA certificates path : "
echo " X509CERTDIR = '$X509CERTDIR'"
#echo " USERCERTDIR = '$USERCERTDIR'"
echo "**** Certificate configuration : "
echo " Keys found = '$XWELECTRONICKEYS'"
echo " SSLKEYPASSPHRASE = '$SSLKEYPASSPHRASE'"
echo " SSLKEYCLIENTPASSWORD = '$SSLKEYCLIENTPASSWORD'"
echo " SSLKEYSERVERPASSWORD = '$SSLKEYSERVERPASSWORD'"
echo " SSLKEYWORKERPASSWORD = '$SSLKEYWORKERPASSWORD'"
echo " Common Name = '$CERTCN'"
echo " Organisation Unit = '$CERTOU'"
echo " Organization Name = '$CERTO'"
echo " Locality Name = '$CERTL'"
echo " Country = '$CERTC'"
if [ "$FORCEYES" = "NO" ] ; then
echo
YESNO="N"
printf "Do you accept it [y/N] ? "
read YESNO
if [ "$YESNO" != "y" -a "$YESNO" != "Y" ] ; then
fatal "Cancel by user"
fi
fi
#
# MySQL
#
MYSQLOPTS=""
if [ -n "$DBADMINLOGIN" ] ; then
MYSQLOPTS="-u $DBADMINLOGIN"
[ "$DBHOST" != "" ] && MYSQLOPTS="$MYSQLOPTS -h $DBHOST"
[ "$DBADMINPASSWORD" != "" ] && MYSQLOPTS="$MYSQLOPTS --password=$DBADMINPASSWORD"
else
MYSQLOPTS="-u $DBUSERLOGIN"
[ "$DBHOST" != "" ] && MYSQLOPTS="$MYSQLOPTS -h $DBHOST"
[ "$DBUSERPASSWORD" != "" ] && MYSQLOPTS="$MYSQLOPTS --password=$DBUSERPASSWORD"
fi
#
# Check MySQL configuration
#
if [ "$DBVENDOR" = "mysql" ] ; then
echo
mysql $MYSQLOPTS -e ''
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS -e ''\" failed. Please verify if MySQL is correctly installed."
fi
#
# Database exists, but do the schema and the tables exist?
#
NEWDB=0
mysql $MYSQLOPTS "$DBNAME" -e "" 2> /dev/null
if [ $? -eq 0 ] ; then
printf "Database schema '$DBNAME' exists : "
YESNO="N"
if [ "$FORCEYES" = "NO" ] ; then
printf "do you want to fully reset it ? [y/N] ? "
read YESNO
else
if [ "$KEEPDB" = "YES" ] ; then
echo "DB kept"
YESNO="N"
else
echo "DB reset forced"
YESNO="Y"
fi
fi
if [ "$YESNO" = "y" -o "$YESNO" = "Y" ] ; then
echo "Resetting database schema '$DBNAME'"
mysql $MYSQLOPTS "$DBNAME" < $XWRMDBSQL
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS $DBNAME < $XWRMDBSQL\" failed"
fi
NEWDB=1
fi
else
NEWDB=1
fi
fi
TMPFILE1=`date "+%Y%m%d_%H%M%S"`".xwtmp1"
TMPFILE2=`date "+%Y%m%d_%H%M%S"`".xwtmp2"
#
# Preparing the SQL script to install MySQL database, with lowercase UUIDs
#
XWADMINGROUPUID=` uuidgen | tr "A-Z" "a-z"`
XWWORKERGROUPUID=`uuidgen | tr "A-Z" "a-z"`
XWADMINUID=` uuidgen | tr "A-Z" "a-z"`
XWWORKERUID=` uuidgen | tr "A-Z" "a-z"`
if [ "$DBVENDOR" = "mysql" ] ; then
if [ $NEWDB -eq 1 ] ; then
rm -f $TMPFILE1
rm -f $TMPFILE2
rm -f $XWSETUPDBSQL
printf "Preparing database schema '$DBNAME'"
cat $XWSETUPDBSQLIN | sed "s/@DBNAME@/$DBNAME/g" > $TMPFILE1
cat $TMPFILE1 | sed "s/@DBUSER@/$DBUSERLOGIN/g" > $TMPFILE2
rm -f $TMPFILE1
printf "."
cat $TMPFILE2 | sed "s/@DBUSERPASSWORD@/$DBUSERPASSWORD/g" > $TMPFILE1
rm -f $TMPFILE2
printf "."
cat $TMPFILE1 | sed "s/@ADMINGROUPUID@/$XWADMINGROUPUID/g" > $TMPFILE2
rm -f $TMPFILE1
printf "."
cat $TMPFILE2 | sed "s/@PUBLICWORKERSGROUPUID@/$XWWORKERGROUPUID/g" > $TMPFILE1
rm -f $TMPFILE2
printf "."
cat $TMPFILE1 | sed "s/@ADMINUID@/$XWADMINUID/g" > $TMPFILE2
rm -f $TMPFILE1
printf "."
cat $TMPFILE2 | sed "s/@WORKERUID@/$XWWORKERUID/g" > $TMPFILE1
rm -f $TMPFILE2
printf "."
cat $TMPFILE1 | sed "s/@DBADMIN@/$XWADMINLOGIN/g" > $TMPFILE2
rm -f $TMPFILE1
printf "."
cat $TMPFILE2 | sed "s/@DBADMINPASSWORD@/$XWADMINPASSWORD/g" > $TMPFILE1
rm -f $TMPFILE2
printf "."
cat $TMPFILE1 | sed "s/@DBWORKER@/$XWWORKERLOGIN/g" > $TMPFILE2
rm -f $TMPFILE1
printf "."
cat $TMPFILE2 | sed "s/@DBWORKERPASSWORD@/$XWWORKERPASSWORD/g" > $TMPFILE1
rm -f $TMPFILE2
printf "."
SEDVAR=`echo "$DBHOST" | sed -f $SEDCMDS`
cat $TMPFILE1 | sed 's/@XWHOST@/$SEDVAR/g' > $TMPFILE2
rm -f $TMPFILE1
printf "."
cat $TMPFILE2 | sed "s/@DBENGINE@/$DBENGINE/g" > $TMPFILE1
rm -f $TMPFILE2
if [ -z "$DBADMINLOGIN" ] ; then
cat $TMPFILE1 | sed -e "s/^GRANT.*//g" | sed -e "s/^set password for.*//g" > $TMPFILE2
rm -f $TMPFILE1
else
mv $TMPFILE1 $TMPFILE2
fi
mv $TMPFILE2 $XWSETUPDBSQL
rm -f $TMPFILE2
printf "."
mysql $MYSQLOPTS < $XWSETUPDBSQL
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS < $XWSETUPDBSQL\" failed"
fi
echo " Done"
# Create DB foreign keys for live tables
if [ "$DBENGINE" = "InnoDB" ] && [ -r "$XWSETUPDBSQL_FK" ]; then
printf "DB engine for '$DBNAME' is InnoDB : Creating foreign keys for live tables ..."
mysql $MYSQLOPTS "$DBNAME" < "$XWSETUPDBSQL_FK"
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS < $XWSETUPDBSQL_FK\" failed"
fi
echo " Done"
fi
# Create DB triggers for data and history coming from version 8.x
for XWSETUPDBSQL_TRIGGERS in $XWSETUPDBSQL_TRIGGERS_LIST
do
if [ -r "$XWSETUPDBSQL_TRIGGERS" ]; then
printf "Creating DB triggers using $(basename "$XWSETUPDBSQL_TRIGGERS") ..."
mysql $MYSQLOPTS "$DBNAME" < "$XWSETUPDBSQL_TRIGGERS"
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS < $XWSETUPDBSQL_TRIGGERS\" failed"
fi
echo " Done"
fi
done
# Create the SQL script for the creation of DB views in the current schema
if [ -r "$XWSETUPDBSQL_QUERY_FOR_TABLE_VIEWS" ]; then
printf "Create the SQL script for the creation of DB views in the current schema ..."
mysql $MYSQLOPTS "$DBNAME" < "$XWSETUPDBSQL_QUERY_FOR_TABLE_VIEWS" | \
sed -e 's=, *null,.*==' > "$XWSETUPDBSQL_VIEWS_FOR_TABLES"
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS < $XWSETUPDBSQL_QUERY_FOR_TABLE_VIEWS\" failed"
fi
echo " Done"
fi
# Create the SQL script for the creation of DB views in the current schema
if [ -r "$XWSETUPDBSQL_QUERY_FOR_USERS_VIEWS" ]; then
printf "Create the SQL script for the creation of DB users views in the current schema ..."
mysql $MYSQLOPTS "$DBNAME" < "$XWSETUPDBSQL_QUERY_FOR_USERS_VIEWS" | \
sed -e 's=, *null,.*==' > "$XWSETUPDBSQL_VIEWS_FOR_USERS"
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS < $XWSETUPDBSQL_QUERY_FOR_USERS_VIEWS\" failed"
fi
echo " Done"
fi
# Create DB views
for XWSETUPDBSQL_VIEWS in $XWSETUPDBSQL_VIEWS_LIST
do
if [ -r "$XWSETUPDBSQL_VIEWS" ]; then
printf "Creating DB views using $(basename "$XWSETUPDBSQL_VIEWS") ..."
mysql $MYSQLOPTS "$DBNAME" < "$XWSETUPDBSQL_VIEWS"
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS < $XWSETUPDBSQL_VIEWS\" failed"
fi
echo " Done"
fi
done
fi
printf "Granting access to DB schema '$DBNAME' ..."
mysql $MYSQLOPTS -e "GRANT ALL PRIVILEGES ON $DBNAME.* TO $DBUSERLOGIN@localhost IDENTIFIED BY '$DBUSERPASSWORD' WITH GRANT OPTION"
mysql $MYSQLOPTS -e "GRANT ALL PRIVILEGES ON $DBNAME.* TO $DBUSERLOGIN@localhost.localdomain IDENTIFIED BY '$DBUSERPASSWORD' WITH GRANT OPTION"
mysql $MYSQLOPTS -e "GRANT ALL PRIVILEGES ON $DBNAME.* TO $DBUSERLOGIN@'$XWHOST' IDENTIFIED BY '$DBUSERPASSWORD' WITH GRANT OPTION"
mysql $MYSQLOPTS -e "set password for $DBUSERLOGIN@localhost = old_password('$DBUSERPASSWORD')"
echo " Done"
#
# next line ensures xwupdatedb-8.3.1 works correctly even if "version" table does not exist
#
mysql $MYSQLOPTS "$DBNAME" -e "CREATE TABLE IF NOT EXISTS version (version char(20),installation datetime)"
for CHECKFILE in `ls $SQL_SCRIPTS_DIR/$XWCHECKDBSQLNAME*.sql` ; do
VFILE=$(basename $CHECKFILE | cut -d '-' -f 2 | sed "s/\.sql//g")
echo "Database schema '$DBNAME' : checking compliance to '$VFILE'"
mysql $MYSQLOPTS "$DBNAME" < $CHECKFILE > /dev/null 2>&1
if [ $? -ne 0 ] ; then
echo "Database schema '$DBNAME' : is not compliant to '$VFILE'; updating"
UPDATEFILE=$(echo $CHECKFILE | sed "s/check/update/")
mysql $MYSQLOPTS "$DBNAME" < $UPDATEFILE
if [ $? -ne 0 ] ; then
fatal "Update to '$VFILE' failed"
fi
echo "Database schema '$DBNAME' : updated to '$VFILE'"
else
echo "Database schema '$DBNAME' : is compliant to $VFILE"
fi
done
echo "Set current version to '$VERSION'"
mysql $MYSQLOPTS "$DBNAME" < $XWSETVERSIONSQL
if [ $? -ne 0 ] ; then
fatal "\"mysql $MYSQLOPTS $DBNAME < $XWSETVERSIONSQL\" failed"
fi
fi
#
# set the account to run the middleware
#
printf "Setting the account to run the middleware to '$XWUSER'"
IFILE=$BINDIR/xtremwebconf.sh
cat $IFILE | sed "s/^XWUSER=.*/XWUSER=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/DEBIAN/postinst
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/DEBIAN/preinst
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/dpkg/xwhep.server/DEBIAN/postinst
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/dpkg/xwhep.server/DEBIAN/postrm
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/dpkg/xwhep.server/DEBIAN/preinst
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/dpkg/xwhep.worker/DEBIAN/postinst
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/dpkg/xwhep.worker/DEBIAN/postrm
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/dpkg/xwhep.worker/DEBIAN/preinst
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/xwhep-bridgedgsg.spec
cat $IFILE | sed "s/^%define SYSLOGIN .*/%define SYSLOGIN $XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/rpm/xwhep.server/xwhep-server.spec
cat $IFILE | sed "s/^%define SYSLOGIN.*/%define SYSLOGIN $XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/linux/rpm/xwhep.worker/xwhep-worker.spec
cat $IFILE | sed "s/^%define SYSLOGIN.*/%define SYSLOGIN $XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.client/installer/Resources/postflight
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.server/installer/PckRoot/Applications/xwhep.server/bin/start.sh
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.server/installer/PckRoot/Applications/xwhep.server/bin/stop.sh
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.server/installer/PckRoot/Applications/xwhep.server/bin/uninstall.sh
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.server/installer/PckRoot/usr/local/bin/xtremweb.server
cat $IFILE | sed "s/^XWUSER=.*/XWUSER=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.server/installer/Resources/postflight
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.vworker/installer/Resources/postflight
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/Applications/xwhep.worker/bin/start.sh
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/Applications/xwhep.worker/bin/stop.sh
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/Applications/xwhep.worker/bin/uninstall.sh
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/usr/local/bin/xtremweb.worker
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
cp $BINDIR/createvdi $INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/usr/local/bin/ > /dev/null 2>&1 || fatal "Can't copy createvdi to $INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/usr/local/bin/"
printf "."
cp $BINDIR/createiso $INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/usr/local/bin/ > /dev/null 2>&1 || fatal "Can't copy createiso to $INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/usr/local/bin/"
printf "."
IFILE=$INSTALLERSDIR/macosx/xwhep.worker/installer/Resources/postflight
cat $IFILE | sed "s/^SYSLOGIN=.*/SYSLOGIN=$XWUSER/g" > $TMPFILE1
mv -f $TMPFILE1 $IFILE
printf "."
echo "Done"
#
# Preparing the server configuration file
#
rm -f $TMPFILE1
rm -f $TMPFILE2
printf "Preparing server configuration file '$XWSERVERCONFFILE'"
SEDVAR=`echo "$DBHOST" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*DBHost[[:space:]]*=.*" $XWSERVERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $XWSERVERCONFFILE | sed "s/^[[:space:]]*DBHost[[:space:]]*=.*/DBHost=$SEDVAR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*DBHost[[:space:]]*=.*" $XWSERVERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $XWSERVERCONFFILE | sed "s/^[[:space:]]*#.*DBHost[[:space:]]*=.*/DBHost=$SEDVAR/g" > $TMPFILE2
else
cp -f $XWSERVERCONFFILE $TMPFILE2
echo "DBHost=$SEDVAR" >> $TMPFILE2
fi
fi
printf "."
SEDVAR=`echo "$XWUPGRADEURL" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*launcherurl[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*launcherurl[[:space:]]*=.*/launcherurl=$SEDVAR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "launcherurl=$SEDVAR" >> $TMPFILE1
fi
printf "."
SEDVAR=`echo "$DBVENDOR" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*DBVendor[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*DBVendor[[:space:]]*=.*/DBVendor=$SEDVAR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*DBVendor[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*DBVendor[[:space:]]*=.*/DBVendor=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "DBVendor=$SEDVAR" >> $TMPFILE2
fi
fi
printf "."
SEDVAR=`echo "$DBENGINE" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*DBEngine[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*DBEngine[[:space:]]*=.*/DBEngine=$SEDVAR/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*DBEngine[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*DBEngine[[:space:]]*=.*/DBEngine=$SEDVAR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "DBEngine=$SEDVAR" >> $TMPFILE1
fi
fi
printf "."
SEDVAR=`echo "$DBNAME" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*DBName[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*DBName[[:space:]]*=.*/DBName=$SEDVAR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*DBName[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*DBName[[:space:]]*=.*/DBName=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "DBName=$SEDVAR" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$DBUSERLOGIN" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*DBUser[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*DBUser[[:space:]]*=.*/DBUser=$SEDVAR/g" > $TMPFILE1
else
grep -E "^^[[:space:]]*#.*DBUser[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*DBUser[[:space:]]*=.*/DBUser=$SEDVAR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "DBUser=$SEDVAR" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
printf "."
SEDVAR=`echo "$DBUSERPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*DBPass[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*DBPass[[:space:]]*=.*/DBPass=$SEDVAR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*DBPass[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*DBPass[[:space:]]*=.*/DBPass=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "DBPass=$SEDVAR" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$XWADMINLOGIN" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*adminlogin[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*adminlogin[[:space:]]*=.*/adminlogin=$SEDVAR/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*adminlogin[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*adminlogin[[:space:]]*=.*/adminlogin=$SEDVAR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "adminlogin=$SEDVAR" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
printf "."
SEDVAR=`echo "$XWADMINPASSWORD" | sed -f $SEDCMDS`
grep -e "^[[:space:]]*adminpassword[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*adminpassword[[:space:]]*=.*/adminpassword=$SEDVAR/g" > $TMPFILE2
else
grep -e "^[[:space:]]*#.*adminpassword[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*adminpassword[[:space:]]*=.*/adminpassword=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "adminpassword=$SEDVAR" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$XWWORKERLOGIN" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*workerlogin[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*workerlogin[[:space:]]*=.*/workerlogin=$SEDVAR/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*workerlogin[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*workerlogin[[:space:]]*=.*/workerlogin=$SEDVAR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "workerlogin=$SEDVAR" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
printf "."
SEDVAR=`echo "$XWWORKERPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*workerpassword[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*workerpassword[[:space:]]*=.*/workerpassword=$SEDVAR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*workerpassword[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*workerpassword[[:space:]]*=.*/workerpassword=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "workerpassword=$SEDVAR" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
printf "."
if [ "$DBVENDOR" = "mysql" ] ; then
XWWORKERUID=`mysql $MYSQLOPTS "$DBNAME" -e "select uid from users where login='$XWWORKERLOGIN'" | tail -1`
fi
SEDVAR=`echo "$XWWORKERUID" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*workeruid[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*workeruid[[:space:]]*=.*/workeruid=$SEDVAR/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*workeruid[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*workeruid[[:space:]]*=.*/workeruid=$SEDVAR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "workeruid=$SEDVAR" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
printf "."
if [ "$DBVENDOR" = "mysql" ] ; then
XWADMINUID=`mysql $MYSQLOPTS "$DBNAME" -e "select uid from users where login='$XWADMINLOGIN'" | tail -1`
fi
SEDVAR=`echo "$XWADMINUID" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*adminuid[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*adminuid[[:space:]]*=.*/adminuid=$SEDVAR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*adminuid[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*adminuid[[:space:]]*=.*/adminuid=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "adminuid=$SEDVAR" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
printf "."
#mv $TMPFILE1 $TMPFILE2
SAFE_SSLKEYPASSPHRASE=`echo "$SSLKEYPASSPHRASE" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeypassphrase[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*SSLKeypassphrase[[:space:]]*=.*/SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeypassphrase[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*SSLKeypassphrase[[:space:]]*=.*/SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
printf "."
SAFE_X509CERTDIR=`echo "$X509CERTDIR" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*X509CERTDIR[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*X509CERTDIR[[:space:]]*=.*/X509CERTDIR=$SAFE_X509CERTDIR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*X509CERTDIR[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*X509CERTDIR[[:space:]]*=.*/X509CERTDIR=$SAFE_X509CERTDIR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "X509CERTDIR=$SAFE_X509CERTDIR" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
printf "."
SAFE_USERCERTDIR=`echo "$USERCERTDIR" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*USERCERTDIR[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*USERCERTDIR[[:space:]]*=.*/USERCERTDIR=$SAFE_USERCERTDIR/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*USERCERTDIR[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*USERCERTDIR[[:space:]]*=.*/USERCERTDIR=$SAFE_USERCERTDIR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "USERCERTDIR=$SAFE_USERCERTDIR" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
printf "."
SAFE_SSLKEYPASSWORD=`echo "$SSLKEYSERVERPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeypassword[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*SSLKeypassword[[:space:]]*=.*/SSLKeypassword=$SAFE_SSLKEYPASSWORD/g" > $XWSERVERCONFFILE
else
grep -E "^[[:space:]]*#.*SSLKeypassword[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*SSLKeypassword[[:space:]]*=.*/SSLKeypassword=$SAFE_SSLKEYPASSWORD/g" > $XWSERVERCONFFILE
else
cp -f $TMPFILE1 $XWSERVERCONFFILE
echo "SSLKeypassphrase=$SAFE_SSLKEYPASSWORD" >> $XWSERVERCONFFILE
fi
fi
rm -f $TMPFILE1
printf "."
cptodir="$INSTALLERSDIR/macosx/xwhep.server/installer/PckRoot/Applications/xwhep.server"
cp $ROOTDIR/AUTHORS $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $cptodir"
cp $ROOTDIR/ChangeLog $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $cptodir"
cp $ROOTDIR/INSTALL $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $cptodir"
cp $ROOTDIR/License $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $cptodir"
cp $ROOTDIR/License.bouncycastle $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $cptodir"
cp $ROOTDIR/License.smartsockets-1.4 $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $cptodir"
OSXSERVERCONFFILE=$INSTALLERSDIR/macosx/xwhep.server/installer/PckRoot/private/etc/xwhep.server/conf/$XWSERVERCONFFILENAME
cp $XWSERVERCONFFILE $OSXSERVERCONFFILE
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $OSXSERVERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $OSXSERVERCONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/private\/etc\/xwhep\.server\/keystore\/$XWSERVERKEYSTOREFILENAME/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*" $OSXSERVERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $OSXSERVERCONFFILE | sed "s/^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/private\/etc\/xwhep\.server\/keystore\/$XWSERVERKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $OSXSERVERCONFFILE $TMPFILE1
echo "SSLKeyStore=/private/etc/xwhep.server/keystore/$XWSERVERKEYSTOREFILENAME" >> $TMPFILE1
fi
fi
mv -f $TMPFILE1 $OSXSERVERCONFFILE
grep -E "^[[:space:]]*HomeDir[[:space:]]*=.*" $OSXSERVERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $OSXSERVERCONFFILE | sed "s/^[[:space:]]*HomeDir[[:space:]]*=.*/HomeDir=\/var\/xwhep\/server/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*HomeDir[[:space:]]*=.*" $OSXSERVERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $OSXSERVERCONFFILE | sed "s/^[[:space:]]*#.*HomeDir[[:space:]]*=.*/HomeDir=\/var\/xwhep\/server/g" > $TMPFILE1
else
cp -f $OSXSERVERCONFFILE $TMPFILE1
echo "HomeDir=/var/xwhep/server" >> $TMPFILE1
fi
fi
mv -f $TMPFILE1 $OSXSERVERCONFFILE
echo " Done"
#
# Preparing xw-ganglia
#
printf "Preparing xtremweb.ganglia"
rm -f $TMPFILE1
rm -f $TMPFILE2
SEDVAR=`echo "$DBHOST" | sed -f $SEDCMDS`
cat $XWGMOND | sed "s/^[[:space:]]*my \$dbhost[[:space:]]*=.*/my \$dbhost=\"$SEDVAR\";/g" > $TMPFILE1
printf "."
SEDVAR=`echo "$DBNAME" | sed -f $SEDCMDS`
cat $TMPFILE1 | sed "s/^[[:space:]]*my \$database[[:space:]]*=.*/my \$database=\"$SEDVAR\";/g" > $TMPFILE2
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$DBUSERLOGIN" | sed -f $SEDCMDS`
cat $TMPFILE2 | sed "s/^[[:space:]]*my \$dbuser[[:space:]]*=.*/my \$dbuser=\"$SEDVAR\";/g" > $TMPFILE1
rm -f $TMPFILE2
printf "."
SEDVAR=`echo "$DBUSERPASSWORD" | sed -f $SEDCMDS`
cat $TMPFILE1 | sed "s/^[[:space:]]*my \$dbpassword[[:space:]]*=.*/my \$dbpassword=\"$SEDVAR\";/g" > $TMPFILE2
rm -f $TMPFILE1
mv -f $TMPFILE2 $XWGMOND
chmod +x $XWGMOND
echo "Done"
#
# Preparing script to generate keystores
#
CERTNAME="cn=$CERTCN,o=$CERTO,c=$CERTC"
[ "$CERTOU" != "" ] && CERTNAME="$CERTNAME,ou=$CERTOU"
[ "$CERTL" != "" ] && CERTNAME="$CERTNAME,l=$CERTL"
printf "Generating script to manage keystores ($GENKEYS)"
SAFE_SSLKEYSERVERPASSWORD=`echo "$SSLKEYSERVERPASSWORD" | sed -f $SEDCMDS`
SAFE_SSLKEYWORKERPASSWORD=`echo "$SSLKEYWORKERPASSWORD" | sed -f $SEDCMDS`
SAFE_SSLKEYCLIENTPASSWORD=`echo "$SSLKEYCLIENTPASSWORD" | sed -f $SEDCMDS`
cat < $GENKEYS
#!/bin/sh
# This is automatically generated by xwconfigure : don't edit
# This aims to generate keystores
#
# Copyrights : CNRS
# Author : Oleg Lodygensky
# Acknowledgment : XtremWeb-HEP is based on XtremWeb 1.8.0 by INRIA : http://www.xtremweb.net/
# Web : http://www.xtremweb-hep.org
#
# This file is part of XtremWeb-HEP.
#
# XtremWeb-HEP is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# XtremWeb-HEP is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with XtremWeb-HEP. If not, see .
#
#
##################################################
# fatal()
##################################################
fatal() {
echo "[`date`] `basename \$0` - [FATAL] : \$*"
exit 1
}
##################################################
# error()
##################################################
error() {
echo "[`date`] `basename \$0` - [ERROR] : \$*"
}
##################################################
# warn()
##################################################
warn() {
echo "[`date`] `basename \$0` - [WARN] : \$*"
}
##################################################
# info()
##################################################
info() {
echo "[`date`] `basename \$0` - [INFO] : \$*"
}
##################################################
# main
##################################################
PREFIX=\`dirname \$0\`
BINDIR=\$PREFIX/../bin
LIBDIR=\$PREFIX/../lib
JARFILE=\$LIBDIR/xtremweb.jar
KEYSDIR=\$PREFIX/../keystore
X509CERTDIR=$X509CERTDIR
USERCERTDIR=$USERCERTDIR
OID_CP="\$LIBDIR/JOpenId-1.08.jar:\$LIBDIR/jetty-all-8.1.8.v20121106.jar:\$JARFILE"
OID_MAINCLASS="xtremweb.dispatcher.HTTPOpenIdHandler"
DATE=\`date "+%Y%m%d%H%M%S"\`
SERVERALIAS="${XWSERVER}"
WORKERALIAS="xtremweb-hep.worker.\$DATE"
CLIENTALIAS="xtremweb-hep.client.\$DATE"
SERVERFILE=\${KEYSDIR}/$XWSERVERKEYSTOREFILENAME
CERTFILE=\${KEYSDIR}/$XWCERTFILENAME
WORKERFILE=\${KEYSDIR}/$XWWORKERKEYSTOREFILENAME
CLIENTFILE=\${KEYSDIR}/$XWCLIENTKEYSTOREFILENAME
CERTNAME="$CERTNAME"
OPENSSL=openssl
KEYTOOL=keytool
JARSIGNER=jarsigner
[ "X\${JAVA_HOME}" != "X" ] && KEYTOOL=\${JAVA_HOME}/bin/keytool
[ "X\${JAVA_HOME}" != "X" ] && JARSIGNER=\${JAVA_HOME}/bin/jarsigner
type \${KEYTOOL} > /dev/null 2>&1 || fatal "can't find \${KEYTOOL}"
type \${JARSIGNER} > /dev/null 2>&1 || fatal "can't find \${JARSIGNER}"
type \${OPENSSL} > /dev/null 2>&1 || fatal "can't find \${OPENSSL}"
#
# This is the server key passphrase
#
SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE
#
# This is the server keystore password
#
SSLKeyServerpassword=$SAFE_SSLKEYSERVERPASSWORD
#
# This is both the worker key passphrase and worker keystore password
# since worker is distributed on unsecure nodes...
#
SSLKeyWorkerpassword=$SAFE_SSLKEYWORKERPASSWORD
#
# This is both the client key passphrase and client keystore password
# since client is distributed on unsecure nodes...
#
SSLKeyClientpassword=$SAFE_SSLKEYCLIENTPASSWORD
[ ! -d \${KEYSDIR} ] && mkdir -p \${KEYSDIR}
#
# private + public server keys (not to be distributed):
#
# a keystore can contain several keys identified by their alias
#
if [ -f \${SERVERFILE} ] ; then
info "Updating server keystore file \${SERVERFILE}"
else
info "Generating server keystore file \${SERVERFILE}"
# SERVERALIAS="${XWSERVER}.\$DATE"
fi
SERVERCERTNAME=\${SERVERALIAS}.pem
SERVERCERT=\${KEYSDIR}/\${SERVERCERTNAME}
SERVERKEYNAME=\${SERVERALIAS}.key
SERVERKEY=\${KEYSDIR}/\${SERVERKEYNAME}
SERVERP12NAME=\${SERVERALIAS}.p12
SERVERP12=\${KEYSDIR}/\${SERVERP12NAME}
IMPORTKEY=1
[ ! -r \${SERVERCERT} ] && IMPORTKEY=0
[ ! -r \${SERVERKEY} ] && IMPORTKEY=0
if [ \$IMPORTKEY -eq 1 ] ; then
info "Certificates found; importing certificates into server keystore"
# SERVERALIAS="${XWSERVER}"
## \${KEYTOOL} -exportcert -keystore \${SERVERFILE} -alias \${SERVERALIAS} -file \${CERTFILE} -storepass "\${SSLKeyServerpassword}" -rfc
# \${KEYTOOL} -export -keystore \${SERVERFILE} -alias \${SERVERALIAS} -file \${CERTFILE} -storepass "\${SSLKeyServerpassword}" -rfc
# [ \$? -ne 0 ] && fatal "\${KEYTOOL} : something is wrong with found certificates"
# \${OPENSSL} x509 -in \${CERTFILE} -text -noout
# [ \$? -ne 0 ] && fatal "\${OPENSSL} : something is wrong with found certificates"
\${OPENSSL} pkcs12 -export -in \${SERVERCERT} -inkey \${SERVERKEY} -out \${SERVERP12} -passout pass:\${SSLKeyServerpassword} -name \${SERVERALIAS}
[ \$? -ne 0 ] && fatal "\${OPENSSL} : can't translate found certificates to PKCS12"
\${KEYTOOL} -importkeystore -srckeystore \${SERVERP12} -srcstoretype pkcs12 -destkeystore \${SERVERFILE} -deststoretype jks -srcstorepass \${SSLKeyServerpassword} -deststorepass \${SSLKeyServerpassword} -destkeypass "\${SSLKeypassphrase}" -srcalias \${SERVERALIAS} -destalias \${SERVERALIAS}
[ \$? -ne 0 ] && fatal "\${KEYTOOL} : can't import keystore from found certificates"
\${KEYTOOL} -export -keystore \${SERVERFILE} -alias \${SERVERALIAS} -file \${CERTFILE} -storepass "\${SSLKeyServerpassword}" -rfc
[ \$? -ne 0 ] && fatal "\${KEYTOOL} : can't export public key from found certificates"
else
info "No certificate found; creating self signed ones"
\${KEYTOOL} -genkey -dname "\${CERTNAME}" -alias \${SERVERALIAS} -storepass "\${SSLKeyServerpassword}" -keypass "\${SSLKeypassphrase}" -keystore \${SERVERFILE} -validity 365 -v
[ \$? -ne 0 ] && fatal "can't create self signed certificates"
\${KEYTOOL} -export -keystore \${SERVERFILE} -alias \${SERVERALIAS} -file \${CERTFILE} -storepass "\${SSLKeyServerpassword}" -v
[ \$? -ne 0 ] && fatal "can't export self signed public key"
fi
\${KEYTOOL} -list -keystore \${SERVERFILE} -storepass "\${SSLKeyServerpassword}"
[ \$? -ne 0 ] && fatal "can't list server certificates"
#
# xwcert.keys: server public key (to be disributed)
#
\${KEYTOOL} -printcert -file \${CERTFILE}
[ \$? -ne 0 ] && fatal "can't print server certificates"
#
# Generating worker keystore
#
if [ -f \${WORKERFILE} ] ; then
info "Updating worker keystore file \${WORKERFILE}"
else
info "Generating worker keystore file \${WORKERFILE}"
fi
\${KEYTOOL} -genkey -dname "\${CERTNAME}" -alias \${WORKERALIAS} -storepass "\${SSLKeyWorkerpassword}" -keypass "\${SSLKeyWorkerpassword}" -keystore \${WORKERFILE} -v
[ $? -ne 0 ] && fatal "can't generate worker keystore"
info "Importing server public key into worker keystore (\${WORKERFILE})"
\${KEYTOOL} -import -alias \${SERVERALIAS} -file \${CERTFILE} -trustcacerts -keystore \${WORKERFILE} -storepass "\${SSLKeyWorkerpassword}" -v -noprompt
[ $? -ne 0 ] && fatal "can't import server public key into worker keystore"
\${KEYTOOL} -list -keystore \${WORKERFILE} -storepass "\${SSLKeyWorkerpassword}"
[ \$? -ne 0 ] && fatal "can't list certificates from worker keystore"
#
# Generating client keystore
#
if [ -f \${CLIENTFILE} ] ; then
info "Updating client keystore file \${CLIENTFILE}"
else
info "Generating client keystore file \${CLIENTFILE}"
fi
\${KEYTOOL} -genkey -dname "\${CERTNAME}" -alias \${CLIENTALIAS} -storepass "\${SSLKeyClientpassword}" -keypass "\${SSLKeyClientpassword}" -keystore \${CLIENTFILE} -v
[ $? -ne 0 ] && fatal "can't generate client keystore"
info "Importing server public key into client keystore (\${WORKERFILE})"
\${KEYTOOL} -import -alias \${SERVERALIAS} -file \${CERTFILE} -trustcacerts -keystore \${CLIENTFILE} -storepass "\${SSLKeyClientpassword}" -v -noprompt
[ $? -ne 0 ] && fatal "can't import server public key into client keystore"
\${KEYTOOL} -list -keystore \${CLIENTFILE} -storepass "\${SSLKeyClientpassword}"
[ \$? -ne 0 ] && fatal "can't list certificates from client keystore"
#
# Signing jar file
#
info "Signing jar file \${JARFILE}"
\${JARSIGNER} -storepass "\${SSLKeyServerpassword}" -keypass "\${SSLKeypassphrase}" -keystore \${SERVERFILE} \${JARFILE} \${SERVERALIAS}
[ \$? -ne 0 ] && warn "can't sign jar file"
\${JARSIGNER} -verify -keystore \${WORKERFILE} \${JARFILE}
[ \$? -ne 0 ] && warn "can't verify signed jar file"
info "Done"
EOF
chmod 700 $GENKEYS
echo " Done"
printf "Generating script to manage OpenId server certificates ($OPENIDSH)"
cat < $OPENIDSH
#!/bin/sh
# This is automatically generated by xconfigure : don't edit
# This aims to insert OpenID servers certificate to XWHEP server keystore
#
# Copyrights : CNRS
# Author : Oleg Lodygensky
# Acknowledgment : XtremWeb-HEP is based on XtremWeb 1.8.0 by INRIA : http://www.xtremweb.net/
# Web : http://www.xtremweb-hep.org
#
# This file is part of XtremWeb-HEP.
#
# XtremWeb-HEP is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# XtremWeb-HEP is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with XtremWeb-HEP. If not, see .
#
#
DATE=\`date "+%Y%m%d%H%M%S"\`
##################################################
# fatal()
##################################################
fatal() {
echo "- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -"
echo "[`date`] `basename \$0` - [fatal] : \$*"
echo "- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * -"
exit 1
}
##################################################
# main
##################################################
PREFIX=\`dirname \$0\`
BINDIR=\$PREFIX/../bin
KEYSDIR=\$PREFIX/../keystore
LIBDIR=\$PREFIX/../lib
JARFILE=\$LIBDIR/xtremweb.jar
OID_CP="\$LIBDIR/JOpenId-1.08.jar:\$LIBDIR/jetty-all-8.1.8.v20121106.jar:\$JARFILE"
OID_MAINCLASS="xtremweb.dispatcher.HTTPOpenIdHandler"
DATE=\`date "+%Y%m%d%H%M%S"\`
SERVERFILE=\${KEYSDIR}/$XWSERVERKEYSTOREFILENAME
KEYTOOL=keytool
JARSIGNER=jarsigner
[ "X\$JAVA_HOME" != "X" ] && KEYTOOL=\$JAVA_HOME/bin/keytool
[ "X\$JAVA_HOME" != "X" ] && JARSIGNER=\$JAVA_HOME/bin/jarsigner
type \$KEYTOOL > /dev/null 2>&1 || fatal "can't find \$KEYTOOL applications"
[ ! -f \$SERVERFILE ] && fatal "can't find \$SERVERFILE"
#
# This is the server key passphrase
#
SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE
#
# This is the server keystore password
#
SSLKeyServerpassword=$SAFE_SSLKEYSERVERPASSWORD
echo "Inserting known OpenId servers certificate paths into server keystore"
echo " - google"
echo " - yahoo"
java -cp \$OID_CP \$OID_MAINCLASS --sav
[ \$? -ne 0 ] && fatal "can't run java -cp \$OID_CP \$OID_MAINCLASS --sav"
# previous command generated
# - open.login.yahooapis.com_0.pem
# - open.login.yahooapis.com_1.pem
# - open.login.yahooapis.com_2.pem
# - www.google.com_0.pem
# - www.google.com_1.pem
#
\${KEYTOOL} -importcert -trustcacerts -noprompt -alias yahoo_\${DATE}_0 -file open.login.yahooapis.com_0.pem -keystore \${SERVERFILE} -storepass "\${SSLKeyServerpassword}"
\${KEYTOOL} -importcert -trustcacerts -noprompt -alias yahoo_\${DATE}_1 -file open.login.yahooapis.com_1.pem -keystore \${SERVERFILE} -storepass "\${SSLKeyServerpassword}"
\${KEYTOOL} -importcert -trustcacerts -noprompt -alias yahoo_\${DATE}_2 -file open.login.yahooapis.com_2.pem -keystore \${SERVERFILE} -storepass "\${SSLKeyServerpassword}"
\${KEYTOOL} -importcert -trustcacerts -noprompt -alias google_\${DATE}_0 -file www.google.com_0.pem -keystore \${SERVERFILE} -storepass "\${SSLKeyServerpassword}"
\${KEYTOOL} -importcert -trustcacerts -noprompt -alias google_\${DATE}_1 -file www.google.com_1.pem -keystore \${SERVERFILE} -storepass "\${SSLKeyServerpassword}"
EOF
chmod +x $OPENIDSH
echo " Done"
#
# Preparing the worker configuration file
#
rm -f $TMPFILE1
rm -f $TMPFILE2
printf "Preparing worker configuration file '$XWWORKERCONFFILE'"
SEDVAR=`echo "$XWUPGRADEURL" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*launcherurl[[:space:]]*=.*" $XWWORKERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $XWWORKERCONFFILE | sed "s/^[[:space:]]*launcherurl[[:space:]]*=.*/launcherurl=$SEDVAR/g" > $TMPFILE1
else
cp -f $XWWORKERCONFFILE $TMPFILE1
echo "launcher.url=$SEDVAR" >> $TMPFILE1
fi
printf "."
#
# The worker has a single pass for both key passphrase and keystore password
#
SAFE_SSLKEYPASSPHRASE=`echo "$SSLKEYWORKERPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeypassphrase[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*SSLKeypassphrase[[:space:]]*=.*/SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*SSLKeypassphrase[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*SSLKeypassphrase[[:space:]]*=.*/SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
SAFE_SSLKEYPASSWORD=`echo "$SSLKEYWORKERPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeypassword[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*SSLKeypassword[[:space:]]*=.*/SSLKeypassword=$SAFE_SSLKEYPASSWORD/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeypassword[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*SSLKeypassword[[:space:]]*=.*/SSLKeypassword=$SAFE_SSLKEYPASSWORD/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "SSLKeypassword=$SAFE_SSLKEYPASSWORD" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
SEDVAR=`echo "$XWSERVER" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*dispatchers[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*dispatchers[[:space:]]*=.*/dispatchers=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "dispatchers=$SEDVAR" >> $TMPFILE2
fi
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$XWWORKERLOGIN" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*login[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*login[[:space:]]*=.*/login=$SEDVAR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "login=$SEDVAR" >> $TMPFILE1
fi
rm -f $TMPFILE2
printf "."
SEDVAR=`echo "$XWWORKERPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*password[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*password[[:space:]]*=.*/password=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "password=$SEDVAR" >> $TMPFILE2
fi
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$XWWORKERKEYSTOREFILE" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=$SEDVAR/g" > $XWWORKERCONFFILE
else
cp -f $TMPFILE2 $XWWORKERCONFFILE
echo "SSLKeyStore=$SEDVAR" >> $XWWORKERCONFFILE
fi
rm -f $TMPFILE2
echo " Done"
#
# Preparing worker conf file for macosx packages
#
OSXWORKERCONFFILE=$INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/private/etc/xwhep.worker/conf/$XWWORKERCONFFILENAME
echo "Copying worker configuration file $XWWORKERCONFFILE to $OSXWORKERCONFFILE"
cp $XWWORKERCONFFILE $OSXWORKERCONFFILE
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $OSXWORKERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $OSXWORKERCONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/private\/etc\/xwhep\.worker\/keystore\/$XWWORKERKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $XWWORKERCONFFILE $TMPFILE1
echo "SSLKeyStore=/private/etc/xwhep.worker/keystore/$XWWORKERKEYSTOREFILENAME" >> $TMPFILE1
fi
mv -f $TMPFILE1 $OSXWORKERCONFFILE
cptodir="$INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/Applications/xwhep.worker/"
cp $ROOTDIR/AUTHORS $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $cptodir"
cp $ROOTDIR/ChangeLog $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $cptodir"
cp $ROOTDIR/INSTALL $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $cptodir"
cp $ROOTDIR/License $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $cptodir"
cp $ROOTDIR/License.bouncycastle $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $cptodir"
cp $ROOTDIR/License.smartsockets-1.4 $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $cptodir"
SOURCE=$LIBDIR/xtremweb.jar
DEST=$INSTALLERSDIR/macosx/xwhep.worker/installer/PckRoot/private/etc/xwhep.worker/lib/
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/bcprov-jdk16-140.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/ibis-util-2.1.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-api-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-log4j12-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/smartsockets-1.4.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/log4j-1.2.17.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/jetty-all-8.1.8.v20121106.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/jetty-util-8.1.8.v20121106.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
#
# Preparing virtualized worker conf file for macosx packages
#
cptodir="$INSTALLERSDIR/macosx/xwhep.vworker/installer/PckRoot/Applications/xwhep.vworker/"
cp $ROOTDIR/AUTHORS $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $cptodir"
cp $ROOTDIR/ChangeLog $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $cptodir"
cp $ROOTDIR/INSTALL $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $cptodir"
cp $ROOTDIR/License $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $cptodir"
cp $ROOTDIR/License.bouncycastle $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $cptodir"
cp $ROOTDIR/License.smartsockets-1.4 $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $cptodir"
#
# Preparing worker conf file for win32 packages
#
WIN32WORKERCONFFILE=$INSTALLERSDIR/win32/xwhep.worker/innoSetup/worker/conf/$XWWORKERCONFFILENAME
echo "Copying worker configuration file $XWWORKERCONFFILE to $WIN32WORKERCONFFILE"
cp $XWWORKERCONFFILE $WIN32WORKERCONFFILE
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $WIN32WORKERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $WIN32WORKERCONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\.\.\/keystore\/$XWWORKERKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $XWWORKERCONFFILE $TMPFILE1
echo "SSLKeyStore=../keystore/$XWWORKERKEYSTOREFILENAME" >> $TMPFILE1
fi
mv -f $TMPFILE1 $WIN32WORKERCONFFILE
cptodir="$INSTALLERSDIR/win32/xwhep.worker/innoSetup/worker"
cp $ROOTDIR/AUTHORS $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $cptodir"
cp $ROOTDIR/ChangeLog $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $cptodir"
cp $ROOTDIR/INSTALL $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $cptodir"
cp $ROOTDIR/License $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $cptodir"
cp $ROOTDIR/License.bouncycastle $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $cptodir"
cp $ROOTDIR/License.smartsockets-1.4 $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $cptodir"
SOURCE=$LIBDIR/xtremweb.jar
DEST="$INSTALLERSDIR/win32/xwhep.worker/innoSetup/worker/lib/"
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/bcprov-jdk16-140.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/ibis-util-2.1.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-api-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-log4j12-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/smartsockets-1.4.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/log4j-1.2.17.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/jetty-all-8.1.8.v20121106.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/jetty-util-8.1.8.v20121106.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
echo "Done"
#
# Preparing the client configuration file
#
printf "Preparing client configuration file '$XWCLIENTCONFFILE'"
rm -f $TMPFILE1
rm -f $TMPFILE2
SEDVAR=`echo "$XWUPGRADEURL" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*launcherurl[[:space:]]*=.*" $XWCLIENTCONFTEMPLATEFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $XWCLIENTCONFTEMPLATEFILE | sed "s/^[[:space:]]*launcherurl[[:space:]]*=.*/launcherurl=$SEDVAR/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*launcherurl[[:space:]]*=.*" $XWCLIENTCONFTEMPLATEFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $XWCLIENTCONFTEMPLATEFILE | sed "s/^[[:space:]]*#.*launcherurl[[:space:]]*=.*/launcherurl=$SEDVAR/g" > $TMPFILE1
else
cp -f $XWCLIENTCONFTEMPLATEFILE $TMPFILE1
echo "launcherurl=$SEDVAR" >> $TMPFILE1
fi
fi
printf "."
SEDVAR=`echo "$XWSERVER" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*dispatchers[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*dispatchers[[:space:]]*=.*/dispatchers=$SEDVAR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*dispatchers[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*dispatchers[[:space:]]*=.*/dispatchers=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "dispatchers=$SEDVAR" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$XWCLIENTKEYSTOREFILE" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=$SEDVAR/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=$SEDVAR/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "SSLKeyStore=$SEDVAR" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
#
# The client has a single pass for both key passphrase and keystore password
#
SAFE_SSLKEYPASSPHRASE=`echo "$SSLKEYCLIENTPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeypassphrase[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*SSLKeypassphrase[[:space:]]*=.*/SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*SSLKeypassphrase[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*SSLKeypassphrase[[:space:]]*=.*/SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "SSLKeypassphrase=$SAFE_SSLKEYPASSPHRASE" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
SAFE_SSLKEYPASSWORD=`echo "$SSLKEYCLIENTPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeypassword[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*SSLKeypassword[[:space:]]*=.*/SSLKeypassword=$SAFE_SSLKEYPASSWORD/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeypassword[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*SSLKeypassword[[:space:]]*=.*/SSLKeypassword=$SAFE_SSLKEYPASSWORD/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "SSLKeypassword=$SAFE_SSLKEYPASSWORD" >> $TMPFILE1
fi
fi
rm -f $TMPFILE2
cp $TMPFILE1 $XWCLIENTCONFTEMPLATEFILE
SEDVAR=`echo "$XWADMINLOGIN" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*login[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*login[[:space:]]*=.*/login=$SEDVAR/g" > $TMPFILE2
else
grep -E "^[[:space:]]*#.*login[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*#.*login[[:space:]]*=.*/login=$SEDVAR/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "login=$SEDVAR" >> $TMPFILE2
fi
fi
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$XWADMINPASSWORD" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*password[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*password[[:space:]]*=.*/password=$SEDVAR/g" > $XWCLIENTCONFFILE
else
grep -E "^[[:space:]]*#.*password[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*#.*password[[:space:]]*=.*/password=$SEDVAR/g" > $XWCLIENTCONFFILE
else
cp -f $TMPFILE2 $XWCLIENTCONFFILE
echo "password=$SEDVAR" >> $XWCLIENTCONFFILE
fi
fi
rm -f $TMPFILE2
echo "Done"
WIN32CLIENTCONFFILE=$INSTALLERSDIR/win32/xwhep.client/innoSetup/client/conf/$XWCLIENTCONFFILENAME
echo "Copying client configuration file $XWCLIENTCONFFILE to $WIN32CLIENTCONFFILE"
cp $XWCLIENTCONFFILE $WIN32CLIENTCONFFILE
echo "****************************************************************************************"
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $WIN32CLIENTCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $WIN32CLIENTCONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=..\/keystore\/XWCLIENTKEYSTOREFILENAME/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*" $WIN32CLIENTCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $WIN32CLIENTCONFFILE | sed "s/^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=..\/keystore\/XWCLIENTKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $XWCLIENTCONFFILE $TMPFILE1
echo "SSLKeyStore=../keystore/$XWCLIENTKEYSTOREFILENAME" >> $TMPFILE1
fi
fi
mv -f $TMPFILE1 $WIN32CLIENTCONFFILE
SOURCE=$LIBDIR/xtremweb.jar
DEST=$INSTALLERSDIR/win32/xwhep.client/innoSetup/client/lib/
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/bcprov-jdk16-140.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/ibis-util-2.1.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-api-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-log4j12-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/smartsockets-1.4.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/log4j-1.2.17.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
echo "Done"
#
# Generating keys
#
if [ -f $XWSERVERKEYSTOREFILE ] ; then
YESNO="N"
if [ "$FORCEYES" = "NO" ] ; then
cat < /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/bin"
cp -f $ROOTDIR/AUTHORS $INSTALLERSDIR/xwhep.client/$VERSION/ > /dev/null 2>&1 || fatal "Can't copy AUTHORS"
cp -f $ROOTDIR/COPYING $INSTALLERSDIR/xwhep.client/$VERSION/ > /dev/null 2>&1 || fatal "Can't copy COPYING"
cp -f $ROOTDIR/ChangeLog $INSTALLERSDIR/xwhep.client/$VERSION/ > /dev/null 2>&1 || fatal "Can't copy ChangeLog"
cp -f $ROOTDIR/INSTALL $INSTALLERSDIR/xwhep.client/$VERSION/ > /dev/null 2>&1 || fatal "Can't copy INSTALL"
cp -Rf $BINDIR/* $INSTALLERSDIR/xwhep.client/$VERSION/bin > /dev/null 2>&1 || fatal "Can't copy $BINDIR/* to $INSTALLERSDIR/xwhep.client/$VERSION/bin"
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/*sql* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/context.sh > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/lsof* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/monitoring* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xtremweb.ganglia > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xtremweb.gmond* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xtremweb.jra2* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xtremweb.monitor* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xtremweb.server > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xwconfigure* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xwhep.bridge* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xwhep.probe* > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/$GENKEYS > /dev/null 2>&1
rm -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/$OPENIDSH > /dev/null 2>&1
rm -Rf $INSTALLERSDIR/xwhep.client/$VERSION/bin/ganglia > /dev/null 2>&1
printf "."
cp -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/* $INSTALLERSDIR/macosx/xwhep.client/installer/PckRoot/Applications/xwhep.client/bin/ > /dev/null 2>&1
printf "."
cptodir="$INSTALLERSDIR/macosx/xwhep.client/installer/PckRoot/Applications/xwhep.client"
cp $ROOTDIR/AUTHORS $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $cptodir"
cp $ROOTDIR/ChangeLog $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $cptodir"
cp $ROOTDIR/INSTALL $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $cptodir"
cp $ROOTDIR/License $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $cptodir"
cp $ROOTDIR/License.bouncycastle $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $cptodir"
cp $ROOTDIR/License.smartsockets-1.4 $cptodir > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $cptodir"
SOURCE=$LIBDIR/xtremweb.jar
DEST=$INSTALLERSDIR/macosx/xwhep.client/installer/PckRoot/Applications/xwhep.client/lib/
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/bcprov-jdk16-140.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/ibis-util-2.1.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-api-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-log4j12-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/smartsockets-1.4.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/log4j-1.2.17.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
cp -f $INSTALLERSDIR/xwhep.client/$VERSION/bin/xtremweb.client.bat $INSTALLERSDIR/win32/xwhep.client/innoSetup/client/bin/ > /dev/null 2>&1
printf "."
mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/conf > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/conf"
cp $XWCLIENTCONFTEMPLATEFILE $INSTALLERSDIR/xwhep.client/$VERSION/conf > /dev/null 2>&1 || fatal "Can't copy $XWCLIENTCONFTEMPLATEFILE to $INSTALLERSDIR/xwhep.client/$VERSION/conf"
mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/doc > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/doc"
cp -Rf $DOCDIR/* $INSTALLERSDIR/xwhep.client/$VERSION/doc > /dev/null 2>&1 || fatal "Can't copy $DOCDIR/* to $INSTALLERSDIR/xwhep.client/$VERSION/doc"
printf "."
mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/keystore > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/keystore"
cp -f $XWCLIENTKEYSTOREFILE $INSTALLERSDIR/xwhep.client/$VERSION/keystore > /dev/null 2>&1 || fatal "Can't copy $XWCLIENTKEYSTOREFILE to $INSTALLERSDIR/xwhep.client/$VERSION/keystore"
printf "."
mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/lib > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/xwhep.client/$VERSION/lib"
SOURCE=$LIBDIR/xtremweb.jar
DEST=$INSTALLERSDIR/xwhep.client/$VERSION/lib
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/bcprov-jdk16-140.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/ibis-util-2.1.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-api-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-log4j12-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/smartsockets-1.4.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/log4j-1.2.17.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
if [ "$PKGS" = "YES" ] ; then
(cd $INSTALLERSDIR && zip -r xwhep-client-$VERSION.zip xwhep.client)
[ $? -ne 0 ] && fatal "Can't create zip file"
fi
echo "Done"
#
# Preparing client conf file for Apple packages
#
OSXCLIENTCONFFILE=$INSTALLERSDIR/macosx/xwhep.client/installer/PckRoot/Applications/xwhep.client/conf/$XWCLIENTCONFFILENAME
echo "Copying client configuration file $INSTALLERSDIR/xwhep.client/$VERSION/conf/$XWCLIENTCONFTEMPLATEFILENAME to $OSXCLIENTCONFFILE"
cp $INSTALLERSDIR/xwhep.client/$VERSION/conf/$XWCLIENTCONFTEMPLATEFILENAME $OSXCLIENTCONFFILE
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $OSXCLIENTCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $OSXCLIENTCONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/Applications\/xwhep\.client\/keystore\/$XWCLIENTKEYSTOREFILENAME/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*" $OSXCLIENTCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $OSXCLIENTCONFFILE | sed "s/^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/Applications\/xwhep\.client\/keystore\/$XWCLIENTKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $OSXCLIENTCONFFILE $TMPFILE1
echo "SSLKeyStore=/Applications/xwhep.client/keystore/$XWCLIENTKEYSTOREFILENAME" >> $TMPFILE1
fi
fi
mv -f $TMPFILE1 $OSXCLIENTCONFFILE
echo " Done"
#
# Preparing server RPM package
#
echo
CURRENTWORKINGDIR=$INSTALLERSDIR/linux/rpm/xwhep.server
printf "Preparing server RPM package to '$CURRENTWORKINGDIR'"
mkdir -p $CURRENTWORKINGDIR/RPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $CURRENTWORKINGDIR/RPMS/"
mkdir -p $CURRENTWORKINGDIR/SOURCES/ > /dev/null 2>&1 || fatal "Can't mkdir -p $CURRENTWORKINGDIR/SOURCES/"
mkdir -p $CURRENTWORKINGDIR/SPECS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $CURRENTWORKINGDIR/SPECS/"
mkdir -p $CURRENTWORKINGDIR/SRPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $CURRENTWORKINGDIR/SRPMS/"
rpmBuildDir="$CURRENTWORKINGDIR/BUILD/"
rpmDir="$rpmBuildDir/xwhep-server-$VERSION"
mkdir -p $rpmDir > /dev/null 2>&1 || fatal "Can't mkdir -p $rpmDir"
printf "."
wkrRpmDir="$rpmDir/$INSTALLDIR/xwhep-server-$VERSION"
mkdir -p $wkrRpmDir/bin > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/bin"
#mkdir -p $wkrRpmDir/conf > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/conf"
mkdir -p $wkrRpmDir/doc > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/doc"
#mkdir -p $wkrRpmDir/keystore > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/keystore"
mkdir -p $wkrRpmDir/lib > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/lib"
printf "."
cp $ROOTDIR/AUTHORS $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $wkrRpmDir/"
cp $ROOTDIR/ChangeLog $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $wkrRpmDir/"
cp $ROOTDIR/INSTALL $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $wkrRpmDir/"
cp $ROOTDIR/License $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $wkrRpmDir/"
cp $ROOTDIR/License.bouncycastle $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $wkrRpmDir/"
cp $ROOTDIR/License.smartsockets-1.4 $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $wkrRpmDir/"
mkdir -p $wkrRpmDir/bin/db-maintenance/ > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/bin/db-maintenance/"
cp $BINDIR/db-maintenance/*sql $wkrRpmDir/bin/db-maintenance/ > /dev/null 2>&1 || fatal "Can't copy sql files to $wkrRpmDir/bin/db-maintenance/"
cp $BINDIR/xtremwebconf.sh $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy bin/xtremwebconf.sh to $wkrRpmDir/bin"
cp $BINDIR/xtremweb $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy bin/xtremweb to $wkrRpmDir/bin"
cp $BINDIR/xtremweb.server $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy bin file to $wkrRpmDir/bin"
cp $BINDIR/xtremweb.ganglia $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy bin/xtremweb.ganglia to $wkrRpmDir/bin"
cp $BINDIR/xtremweb.gmond.pl $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy bin/xtremweb.gmond.pl to $wkrRpmDir/bin"
chmod +x $wkrRpmDir/bin/* > /dev/null 2>&1 || fatal "Can't chmod +x $wkrRpmDir/bin/*"
chmod -x $wkrRpmDir/bin/*.sql* $wkrRpmDir/bin/*.seds $wkrRpmDir/bin/*.bat $wkrRpmDir/bin/*.xml > /dev/null 2>&1
cp -Rf $DOCDIR/* $wkrRpmDir/doc/ > /dev/null 2>&1 || fatal "Can't copy docs to $wkrRpmDir/doc"
#
# 18 sept 2013 :
# keystore and configuration file are now installed by server configuration RPM (See below)
#
#RPMSERVERCONFFILE=$wkrRpmDir/conf/$XWSERVERCONFFILENAME
#cp $XWSERVERCONFFILE $RPMSERVERCONFFILE > /dev/null 2>&1 || fatal "Can't copy conf file to $wkrRpmDir/conf/"
#SEDVAR=`echo "$INSTALLDIR" | sed -f $SEDCMDS`
#grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*/" $RPMSERVERCONFFILE > /dev/null 2>&1
#if [ $? -eq 0 ] ; then
# cat $RPMSERVERCONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-server-$VERSION\/keystore\/$XWSERVERKEYSTOREFILENAME/g" > $TMPFILE1
#else
# grep -E "^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/" $RPMSERVERCONFFILE > /dev/null 2>&1
# if [ $? -eq 0 ] ; then
# cat $RPMSERVERCONFFILE | sed "s/^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-server-$VERSION\/keystore\/$XWSERVERKEYSTOREFILENAME/g" > $TMPFILE1
# else
# cp -f $RPMSERVERCONFFILE $TMPFILE1
# echo "SSLKeyStore=/$SEDVAR/xwhep-server-$VERSION/keystore/$XWSERVERKEYSTOREFILENAME" >> $TMPFILE1
# fi
#fi
#mv -f $TMPFILE1 $RPMSERVERCONFFILE
#cp -f $XWSERVERKEYSTOREFILE $wkrRpmDir/keystore/ > /dev/null 2>&1 || fatal "Can't copy $XWSERVERKEYSTOREFILE to $wkrRpmDir/keystore"
#
#
# 18 sept 2013 : end
#
#
cp $LIBDIR/* $wkrRpmDir/lib/ > /dev/null 2>&1 || fatal "Can't copy jar files to $wkrRpmDir/lib"
printf "."
rm -f $CURRENTWORKINGDIR/SOURCES/xwhep-server-$VERSION.tar.gz
[ $? -ne 0 ] && fatal "Can't remove tar file"
(cd $rpmBuildDir && tar cvfz $CURRENTWORKINGDIR/SOURCES/xwhep-server-$VERSION.tar.gz .) > /dev/null 2>&2
[ $? -ne 0 ] && fatal "Can't create tar file"
printf "."
echo " Done"
if [ $REDHATOS -eq 1 ] ; then
[ -f $HOME/.rpmmacros ] && cp $HOME/.rpmmacros $HOME/.rpmmacros_sav
rm -f $HOME/.rpmmacros
cat > $HOME/.rpmmacros <
%_topdir $CURRENTWORKINGDIR/
%_tmppath /tmp
EOF
rpmbuild --buildroot $CURRENTWORKINGDIR/BUILD/xwhep-server-$VERSION -bb $CURRENTWORKINGDIR/xwhep-server.spec
if [ $? -ne 0 ] ; then
cp -f $HOME/.rpmmacros $CONFDIR/rpmmacros-server
cat < $CURRENTWORKINGDIR/RPMBUILD.txt
***********************************************************
ATTENTION
***********************************************************
Can't create server RPM
You may need root privileges to do so...
You need an \$HOME/.rpmmacros file.
This file has been created for you :
$CONFDIR/rpmmacros-server
You can invoke rpmbuild :
$> cp -f $CONFDIR/rpmmacros-server \$HOME/.rpmmacros
$> rpmbuild --buildroot $CURRENTWORKINGDIR/BUILD/xwhep-server-$VERSION -bb $CURRENTWORKINGDIR/xwhep-server.spec
The RPM is then ready in :
$CURRENTWORKINGDIR/RPMS/noarch/
(Hit Enter)
EOF
cat $CURRENTWORKINGDIR/RPMBUILD.txt
read
fi
[ -f $HOME/.rpmmacros_sav ] && mv $HOME/.rpmmacros_sav $HOME/.rpmmacros
fi
#
# Preparing server configuration RPM package
#
echo
CURRENTWORKINGDIR=$INSTALLERSDIR/linux/rpm/xwhep.server.conf
printf "Preparing server configuration RPM package to '$CURRENTWORKINGDIR'"
mkdir -p $CURRENTWORKINGDIR/RPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $CURRENTWORKINGDIR/RPMS/"
mkdir -p $CURRENTWORKINGDIR/SOURCES/ > /dev/null 2>&1 || fatal "Can't mkdir -p $CURRENTWORKINGDIR/SOURCES/"
mkdir -p $CURRENTWORKINGDIR/SPECS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $CURRENTWORKINGDIR/SPECS/"
mkdir -p $CURRENTWORKINGDIR/SRPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $CURRENTWORKINGDIR/SRPMS/"
rpmBuildDir="$CURRENTWORKINGDIR/BUILD/"
rpmDir="$rpmBuildDir/xwhep-server-conf-$VERSION"
mkdir -p $rpmDir > /dev/null 2>&1 || fatal "Can't mkdir -p $rpmDir"
printf "."
wkrRpmDir="$rpmDir/$INSTALLDIR/xwhep-server-$VERSION"
mkdir -p $wkrRpmDir/conf > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/conf"
mkdir -p $wkrRpmDir/keystore > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/keystore"
printf "."
#cp $ROOTDIR/AUTHORS $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $wkrRpmDir/"
#cp $ROOTDIR/ChangeLog $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $wkrRpmDir/"
#cp $ROOTDIR/INSTALL $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $wkrRpmDir/"
#cp $ROOTDIR/License $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $wkrRpmDir/"
#cp $ROOTDIR/License.bouncycastle $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $wkrRpmDir/"
#cp $ROOTDIR/License.smartsockets-1.4 $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $wkrRpmDir/"
RPMSERVERCONFFILE=$wkrRpmDir/conf/$XWSERVERCONFFILENAME
cp $XWSERVERCONFFILE $RPMSERVERCONFFILE > /dev/null 2>&1 || fatal "Can't copy conf file to $wkrRpmDir/conf/"
cp $XWSERVERCONFFILE $RPMSERVERCONFFILE
SEDVAR=`echo "$INSTALLDIR" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*/" $RPMSERVERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $RPMSERVERCONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-server-$VERSION\/keystore\/$XWSERVERKEYSTOREFILENAME/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/" $RPMSERVERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $RPMSERVERCONFFILE | sed "s/^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-server-$VERSION\/keystore\/$XWSERVERKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $RPMSERVERCONFFILE $TMPFILE1
echo "SSLKeyStore=/$SEDVAR/xwhep-server-$VERSION/keystore/$XWSERVERKEYSTOREFILENAME" >> $TMPFILE1
fi
fi
mv -f $TMPFILE1 $RPMSERVERCONFFILE
cp -f $XWSERVERKEYSTOREFILE $wkrRpmDir/keystore/ > /dev/null 2>&1 || fatal "Can't copy $XWSERVERKEYSTOREFILE to $wkrRpmDir/keystore"
printf "."
rm -f $CURRENTWORKINGDIR/SOURCES/xwhep-server-conf-$VERSION.tar.gz
[ $? -ne 0 ] && fatal "Can't remove tar file"
(cd $rpmBuildDir && tar cvfz $CURRENTWORKINGDIR/SOURCES/xwhep-server-conf-$VERSION.tar.gz .) > /dev/null 2>&2
[ $? -ne 0 ] && fatal "Can't create tar file"
printf "."
echo " Done"
if [ $REDHATOS -eq 1 ] ; then
[ -f $HOME/.rpmmacros ] && cp $HOME/.rpmmacros $HOME/.rpmmacros_sav
rm -f $HOME/.rpmmacros
cat > $HOME/.rpmmacros <
%_topdir $CURRENTWORKINGDIR/
%_tmppath /tmp
EOF
rpmbuild --buildroot $CURRENTWORKINGDIR/BUILD/xwhep-server-conf-$VERSION -bb $CURRENTWORKINGDIR/xwhep-server-conf.spec
if [ $? -ne 0 ] ; then
cp -f $HOME/.rpmmacros $CONFDIR/rpmmacros-server
cat < $CURRENTWORKINGDIR/RPMBUILD.txt
***********************************************************
ATTENTION
***********************************************************
Can't create server RPM
You may need root privileges to do so...
You need an \$HOME/.rpmmacros file.
This file has been created for you :
$CONFDIR/rpmmacros-server
You can invoke rpmbuild :
$> cp -f $CONFDIR/rpmmacros-server \$HOME/.rpmmacros
$> rpmbuild --buildroot $CURRENTWORKINGDIR/BUILD/xwhep-server-conf-$VERSION -bb $CURRENTWORKINGDIR/xwhep-server-conf.spec
The RPM is then ready in :
$CURRENTWORKINGDIR/RPMS/noarch/
(Hit Enter)
EOF
cat $CURRENTWORKINGDIR/RPMBUILD.txt
read
fi
[ -f $HOME/.rpmmacros_sav ] && mv $HOME/.rpmmacros_sav $HOME/.rpmmacros
fi
#############################################################################################################################################
#
# Preparing server DEBIAN package
#
echo
echo "Preparing server Debian package"
mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.server/DEBIAN > /dev/null 2>&1
[ ! -d $INSTALLERSDIR/linux/dpkg/xwhep.server/DEBIAN ] && fatal "Can't mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.server/DEBIAN"
CURRENTWORKINGDIR=$INSTALLERSDIR/linux/rpm/xwhep.server
rpmBuildDir="$CURRENTWORKINGDIR/BUILD/"
rpmDir="$rpmBuildDir/xwhep-server-$VERSION"
cp -Rf $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.server/ > /dev/null 2>&1 || fatal "Can't copy $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.server/"
find $INSTALLERSDIR/linux/dpkg/ -type d | xargs chmod 755
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.server/DEBIAN/pre*
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.server/DEBIAN/post*
if [ $DEBIANOS -eq 1 -o $MACOS -eq 1 ] ; then
dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.server xwhep-server-$VERSION.deb
if [ $? -ne 0 ] ; then
cat < $INSTALLERSDIR/linux/dpkg/xwhep-server.build.txt
***********************************************************
ATTENTION
***********************************************************
Can't create server Debian package
You may need root privileges to do so...
You can invoke dpkg-deb :
$> dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.server xwhep-server-$VERSION.deb
The Debian package is then ready in :
$INSTALLERSDIR/linux/dpkg/xwhep-server-$VERSION.deb
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/dpkg/xwhep-server.build.txt
read
fi
fi
echo "Server Debian package ready"
#############################################################################################################################################
#
# Preparing server configuration DEBIAN package
#
echo
echo "Preparing server configuration Debian package"
mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.server.conf/DEBIAN > /dev/null 2>&1
[ ! -d $INSTALLERSDIR/linux/dpkg/xwhep.server.conf/DEBIAN ] && fatal "Can't mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.server.conf/DEBIAN"
CURRENTWORKINGDIR=$INSTALLERSDIR/linux/rpm/xwhep.server.conf
rpmBuildDir="$CURRENTWORKINGDIR/BUILD/"
rpmDir="$rpmBuildDir/xwhep-server-conf-$VERSION"
cp -Rf $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.server.conf/ > /dev/null 2>&1 || fatal "Can't copy $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.server.conf/"
find $INSTALLERSDIR/linux/dpkg/ -type d | xargs chmod 755
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.server.conf/DEBIAN/pre*
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.server.conf/DEBIAN/post*
if [ $DEBIANOS -eq 1 -o $MACOS -eq 1 ] ; then
dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.server.conf xwhep-server-conf-$VERSION.deb
if [ $? -ne 0 ] ; then
cat < $INSTALLERSDIR/linux/dpkg/xwhep-server-conf.build.txt
***********************************************************
ATTENTION
***********************************************************
Can't create server configuration Debian package
You may need root privileges to do so...
You can invoke dpkg-deb :
$> dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.server.conf xwhep-server-conf-$VERSION.deb
The Debian package is then ready in :
$INSTALLERSDIR/linux/dpkg/xwhep-server-conf-$VERSION.deb
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/dpkg/xwhep-server-conf.build.txt
read
fi
fi
echo "Server Configuration Debian package ready"
#
# Test Apple PackageMaker
#
# next is the default location before Mac OS 10.8
PACKAGEMAKER="/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"
type sw_vers > /dev/null 2>&1
if [ $? -eq 0 ] ; then
OSMAJOR=`sw_vers -productVersion | cut -d '.' -f 1`
OSMINOR=`sw_vers -productVersion | cut -d '.' -f 2`
if [ "$OSMAJOR.$OSMINOR" = "10.8" ] ; then
#
# This is where I installed all that; it may not work for you
#
PACKAGEMAKER="/Applications/XCodeAuxiliaryTools/PackageMaker.app/Contents/MacOS/PackageMaker"
fi
fi
#
# Preparing server Apple package
#
if [ "$PKGS" = "YES" ] ; then
echo
printf "Preparing server Apple package"
if [ -x "$PACKAGEMAKER" ] ; then
$PACKAGEMAKER -d $INSTALLERSDIR/macosx/xwhep.server/installer/xwhep-server.pmdoc -o $INSTALLERSDIR/macosx/xwhep.server/installer/xwhep-server-$VERSION.mpkg
if [ $? -eq 0 ] ; then
echo "Done"
else
echo "Error"
fi
echo
else
echo " Can't find $PACKAGEMAKER"
echo " To create Mac OS X installation package:"
echo " - install PackageMaker"
echo " - use it as follows"
echo " $> PackageMaker -d installers/macosx/xwhep.server/installer/xwhep-server.pmdoc -o installers/macosx/xwhep.server/installer/xwhep-server.mpkg"
echo
fi
fi
#
# Preparing DG to SG bridge RPM package
#
printf "Preparing DG to SG bridge RPM package to '$INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg'"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/RPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/RPMS/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/SOURCES/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/SOURCES/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/SPECS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/SPECS/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/SRPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/SRPMS/"
rpmBuildDir="$INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/BUILD/"
rpmDir="$rpmBuildDir/xwhep-bridgedgsg-$VERSION"
mkdir -p $rpmDir > /dev/null 2>&1 || fatal "Can't mkdir -p $rpmDir"
printf "."
wkrRpmDir="$rpmDir/$INSTALLDIR/xwhep-bridgedgsg-$VERSION"
mkdir -p $wkrRpmDir/bin > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/bin"
mkdir -p $wkrRpmDir/conf > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/conf"
mkdir -p $wkrRpmDir/keystore > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/keystore"
mkdir -p $wkrRpmDir/lib > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/lib"
mkdir -p $wkrRpmDir/doc > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/doc"
printf "."
cp $ROOTDIR/AUTHORS $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $wkrRpmDir/"
cp $ROOTDIR/ChangeLog $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $wkrRpmDir/"
cp $ROOTDIR/INSTALL $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $wkrRpmDir/"
cp $ROOTDIR/License $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $wkrRpmDir/"
cp $ROOTDIR/License.bouncycastle $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $wkrRpmDir/"
cp $ROOTDIR/License.smartsockets-1.4 $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $wkrRpmDir/"
cp $BINDIR/xtremwebconf.sh $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy bin file to $wkrRpmDir/bin"
rm -f $TMPFILE1 $TMPFILE2
SEDVAR=`echo "$DBHOST" | sed -f $SEDCMDS`
grep -E "dbhost[[:space:]]*=.*" $BINDIR/xwhep.bridgedg2sg.pl > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $BINDIR/xwhep.bridgedg2sg.pl | sed "s/^[[:space:]]*my \$dbhost[[:space:]]*=.*/my \$dbhost=\"$SEDVAR\";/g" > $TMPFILE1
else
cp -f $BINDIR/xwhep.bridgedg2sg.pl $TMPFILE1
echo "my \$dbhost=\"$SEDVAR\";" >> $TMPFILE1
fi
printf "."
SEDVAR=`echo "$DBNAME" | sed -f $SEDCMDS`
grep -E "dbname[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*my \$dbname[[:space:]]*=.*/my \$dbname=\"$SEDVAR\";/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "my \$dbname=\"$SEDVAR\";" >> $TMPFILE2
fi
rm -f $TMPFILE1
printf "."
SEDVAR=`echo "$DBUSERLOGIN" | sed -f $SEDCMDS`
grep -E "dbuser[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*my \$dbuser[[:space:]]*=.*/my \$dbuser=\"$SEDVAR\";/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "my \$dbuser=\"$SEDVAR\";" >> $TMPFILE1
fi
rm -f $TMPFILE2
printf "."
SEDVAR=`echo "$DBUSERPASSWORD" | sed -f $SEDCMDS`
grep -E "dbpassword[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*my \$dbpassword[[:space:]]*=.*/my \$dbpassword=\"$SEDVAR\";/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "my \$dbpassword=\"$SEDVAR\";" >> $TMPFILE2
fi
rm -f $TMPFILE1
printf "."
mv $TMPFILE2 $BINDIR/xwhep.bridgedg2sg.pl
chmod +x $BINDIR/xwhep.bridgedg2sg.pl
cp $BINDIR/* $wkrRpmDir/bin/ > /dev/null 2>&1
rm -f $wkrRpmDir/bin/*sql > /dev/null 2>&1
rm -f $wkrRpmDir/bin/context.sh > /dev/null 2>&1
rm -f $wkrRpmDir/bin/xwhep.bridgesg2dg.pm > /dev/null 2>&1
RPMBRIDGECONFFILE=$wkrRpmDir/conf/$XWBRIDGECONFFILENAME
cp $XWBRIDGECONFFILE $RPMBRIDGECONFFILE > /dev/null 2>&1 || fatal "Can't copy conf file to rpm/conf/"
printf "."
cp $XWBRIDGECONFFILE $RPMBRIDGECONFFILE
SEDVAR=`echo "$INSTALLDIR" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $RPMBRIDGECONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $RPMBRIDGECONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-bridgedgsg-$VERSION\/keystore\/$XWBRIDGEKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $RPMBRIDGECONFFILE $TMPFILE1
echo "SSLKeyStore=/$SEDVAR/xwhep-bridgedgsg-$VERSION/keystore/$XWBRIDGEKEYSTOREFILENAME" >> $TMPFILE1
fi
printf "."
grep -E "^[[:space:]]*login[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*login[[:space:]]*=.*/login=$XWADMINLOGIN/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "login=$XWADMINPASSWORD" >> $TMPFILE2
fi
printf "."
grep -E "^[[:space:]]*password[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*password[[:space:]]*=.*/password=$XWADMINPASSWORD/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "password=$XWADMINPASSWORD" >> $TMPFILE1
fi
mv -f $TMPFILE1 $RPMBRIDGECONFFILE
printf "."
cp -f $XWBRIDGEKEYSTOREFILE $wkrRpmDir/keystore/ > /dev/null 2>&1 || fatal "Can't copy keystore file to $wkrRpmDir/keystore"
cp $LIBDIR/* $wkrRpmDir/lib/ > /dev/null 2>&1 || fatal "Can't copy jar file to $wkrRpmDir/lib"
cp -Rf $DOCDIR/* $wkrRpmDir/doc/ > /dev/null 2>&1 || fatal "Can't copy docs to $wkrRpmDir/bin"
chmod +x $wkrRpmDir/bin/* > /dev/null 2>&1 || fatal "Can't chmod +x"
chmod -x $wkrRpmDir/bin/*.sql* $wkrRpmDir/bin/*.seds $wkrRpmDir/bin/*.bat $wkrRpmDir/bin/*.xml > /dev/null 2>&1
printf "."
rm -f $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/SOURCES/xwhep-bridgedgsg-$VERSION.tar.gz
[ $? -ne 0 ] && fatal "Can't remove tar file"
(cd $rpmBuildDir && tar cvfz $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/SOURCES/xwhep-bridgedgsg-$VERSION.tar.gz .) > /dev/null 2>&2
[ $? -ne 0 ] && fatal "Can't create tar file"
printf "."
echo " Done"
if [ $REDHATOS -eq 1 ] ; then
[ -f $HOME/.rpmmacros ] && cp $HOME/.rpmmacros $HOME/.rpmmacros_sav
rm -f $HOME/.rpmmacros
cat > $HOME/.rpmmacros <
%_topdir $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/
%_tmppath /tmp
EOF
rpmbuild --buildroot $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/BUILD/xwhep-bridgedgsg-$VERSION -bb $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/xwhep-bridgedgsg.spec
if [ $? -ne 0 ] ; then
cp -f $HOME/.rpmmacros $CONFDIR/rpmmacros-bridgedgsg
cat < $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/RPMBUILD.txt
***********************************************************
ATTENTION
***********************************************************
Can't create bridgedgsg RPM
You may need root privileges to do so...
You will then need an \$HOME/.rpmmacros file.
This file has been created for you here :
$CONFDIR/rpmmacros-bridgedgsg
You can invoke rpmbuild :
$> cp -f $CONFDIR/rpmmacros-bridgedgsg \$HOME/.rpmmacros
$> rpmbuild --buildroot $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/BUILD/xwhep-bridgedgsg-$VERSION -bb $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/xwhep-bridgedgsg.spec
The RPM is then ready in :
$INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/RPMS/noarch/
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg/RPMBUILD.txt
read
fi
[ -f $HOME/.rpmmacros_sav ] && mv $HOME/.rpmmacros_sav $HOME/.rpmmacros
fi
#
# Preparing bridgedgsg DEBIAN package
#
echo
echo "Preparing bridgedgsg Debian package"
mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/DEBIAN > /dev/null 2>&1
[ ! -d $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/DEBIAN ] && fatal "Can't mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/DEBIAN"
cp -Rf $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/ > /dev/null 2>&1 || fatal "Can't copy $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/"
find $INSTALLERSDIR/linux/dpkg/ -type d | xargs chmod 755
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/DEBIAN/pre*
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg/DEBIAN/post*
if [ $DEBIANOS -eq 1 -o $MACOS -eq 1 ] ; then
dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg xwhep-bridgedgsg-$VERSION.deb
if [ $? -ne 0 ] ; then
cat < $INSTALLERSDIR/linux/dpkg/xwhep-bridgedgsg.build.txt
***********************************************************
ATTENTION
***********************************************************
Can't create bridgedgsg Debian package
You may need root privileges to do so...
You can invoke dpkg-deb :
$> dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg xwhep-bridgedgsg-$VERSION.deb
The Debian package is then ready in :
$INSTALLERSDIR/linux/dpkg/xwhep-bridgedgsg-$VERSION.deb
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/dpkg/xwhep-bridgedgsg.build.txt
read
fi
fi
echo "Bridgedgsg Debian package ready"
#
# Preparing SG to DG bridge RPM package
#
printf "Preparing SG to DG bridge RPM package to '$INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg'"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/RPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/RPMS/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/SOURCES/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/SOURCES/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/SPECS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/SPECS/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/SRPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/SRPMS/"
rpmBuildDir="$INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/BUILD/"
rpmDir="$rpmBuildDir/xwhep-bridgesgdg-$VERSION"
mkdir -p $rpmDir > /dev/null 2>&1 || fatal "Can't mkdir -p $rpmDir"
printf "."
wkrRpmDir="$rpmDir/$INSTALLDIR/xwhep-bridgesgdg-$VERSION"
mkdir -p $wkrRpmDir/bin > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/bin"
mkdir -p $wkrRpmDir/conf > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/conf"
mkdir -p $wkrRpmDir/keystore > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/keystore"
mkdir -p $wkrRpmDir/lib > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/lib"
mkdir -p $wkrRpmDir/doc > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/doc"
printf "."
cp $BINDIR/xtremwebconf.sh $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy bin file to $wkrRpmDir/bin"
cp $ROOTDIR/AUTHORS $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $wkrRpmDir/"
cp $ROOTDIR/ChangeLog $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $wkrRpmDir/"
cp $ROOTDIR/INSTALL $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $wkrRpmDir/"
cp $ROOTDIR/License $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $wkrRpmDir/"
cp $ROOTDIR/License.bouncycastle $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $wkrRpmDir/"
cp $ROOTDIR/License.smartsockets-1.4 $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $wkrRpmDir/"
cp $BINDIR/* $wkrRpmDir/bin/ > /dev/null 2>&1
rm -f $wkrRpmDir/bin/context.sh > /dev/null 2>&1
rm -f $wkrRpmDir/bin/*sql > /dev/null 2>&1
rm -f $wkrRpmDir/bin/xwhep.sgbridge.pm > /dev/null 2>&1
RPMBRIDGECONFFILE=$wkrRpmDir/conf/$XWBRIDGECONFFILENAME
cp $XWBRIDGECONFFILE $RPMBRIDGECONFFILE > /dev/null 2>&1 || fatal "Can't copy conf file to rpm/conf/"
printf "."
cp $XWBRIDGECONFFILE $RPMBRIDGECONFFILE
SEDVAR=`echo "$INSTALLDIR" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $RPMBRIDGECONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $RPMBRIDGECONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-bridgesgdg-$VERSION\/keystore\/$XWBRIDGEKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $RPMBRIDGECONFFILE $TMPFILE1
echo "SSLKeyStore=/$SEDVAR/xwhep-bridgesgdg-$VERSION/keystore/$XWBRIDGEKEYSTOREFILENAME" >> $TMPFILE1
fi
printf "."
grep -E "^[[:space:]]*login[[:space:]]*=.*" $TMPFILE1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE1 | sed "s/^[[:space:]]*login[[:space:]]*=.*/login=$XWADMINLOGIN/g" > $TMPFILE2
else
cp -f $TMPFILE1 $TMPFILE2
echo "login=$XWADMINPASSWORD" >> $TMPFILE2
fi
printf "."
grep -E "^[[:space:]]*password[[:space:]]*=.*" $TMPFILE2 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $TMPFILE2 | sed "s/^[[:space:]]*password[[:space:]]*=.*/password=$XWADMINPASSWORD/g" > $TMPFILE1
else
cp -f $TMPFILE2 $TMPFILE1
echo "password=$XWADMINPASSWORD" >> $TMPFILE1
fi
mv -f $TMPFILE1 $RPMBRIDGECONFFILE
printf "."
cp -f $XWBRIDGEKEYSTOREFILE $wkrRpmDir/keystore/ > /dev/null 2>&1 || fatal "Can't copy keystore file to $wkrRpmDir/keystore"
cp $LIBDIR/* $wkrRpmDir/lib/ > /dev/null 2>&1 || fatal "Can't copy jar file to $wkrRpmDir/lib"
cp -Rf $DOCDIR/* $wkrRpmDir/doc/ > /dev/null 2>&1 || fatal "Can't copy docs to $wkrRpmDir/bin"
chmod +x $wkrRpmDir/bin/* > /dev/null 2>&1 || fatal "Can't chmod +x"
chmod -x $wkrRpmDir/bin/*.sql* $wkrRpmDir/bin/*.seds $wkrRpmDir/bin/*.bat $wkrRpmDir/bin/*.xml > /dev/null 2>&1
printf "."
rm -f $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/SOURCES/xwhep-bridgesgdg-$VERSION.tar.gz
[ $? -ne 0 ] && fatal "Can't remove tar file"
(cd $rpmBuildDir && tar cvfz $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/SOURCES/xwhep-bridgesgdg-$VERSION.tar.gz .) > /dev/null 2>&2
[ $? -ne 0 ] && fatal "Can't create tar file"
printf "."
echo " Done"
if [ $REDHATOS -eq 1 ] ; then
[ -f $HOME/.rpmmacros ] && cp $HOME/.rpmmacros $HOME/.rpmmacros_sav
rm -f $HOME/.rpmmacros
cat > $HOME/.rpmmacros <
%_topdir $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/
%_tmppath /tmp
EOF
rpmbuild --buildroot $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/BUILD/xwhep-bridgesgdg-$VERSION -bb $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/xwhep-bridgesgdg.spec
if [ $? -ne 0 ] ; then
cp -f $HOME/.rpmmacros $CONFDIR/rpmmacros-bridgesgdg
cat < $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/RPMBUILD.txt
***********************************************************
ATTENTION
***********************************************************
Can't create bridgesgdg RPM
You may need root privileges to do so...
You will then need an \$HOME/.rpmmacros file.
This file has been created for you here :
$CONFDIR/rpmmacros-bridgesgdg
You can invoke rpmbuild :
$> cp -f $CONFDIR/rpmmacros-bridgesgdg \$HOME/.rpmmacros
$> rpmbuild --buildroot $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/BUILD/xwhep-bridgesgdg-$VERSION -bb $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/xwhep-bridgesgdg.spec
The RPM is then ready in :
$INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/RPMS/noarch/
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg/RPMBUILD.txt
read
fi
[ -f $HOME/.rpmmacros_sav ] && mv $HOME/.rpmmacros_sav $HOME/.rpmmacros
fi
#
# Preparing bridgesgdg DEBIAN package
#
echo
echo "Preparing bridgesgdg Debian package"
mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg/DEBIAN > /dev/null 2>&1
[ ! -d $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg/DEBIAN ] && fatal "Can't mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg/DEBIAN"
cp -Rf $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg/ > /dev/null 2>&1 || fatal "Can't copy $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg/"
find $INSTALLERSDIR/linux/dpkg/ -type d | xargs chmod 755
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg/DEBIAN/pre*
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg/DEBIAN/post*
if [ $DEBIANOS -eq 1 -o $MACOS -eq 1 ] ; then
dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg xwhep-bridgesgdg-$VERSION.deb
if [ $? -ne 0 ] ; then
cat < $INSTALLERSDIR/linux/dpkg/xwhep-bridgesgdg.build.txt
***********************************************************
ATTENTION
***********************************************************
Can't create bridgesgdg Debian package
You may need root privileges to do so...
You can invoke dpkg-deb :
$> dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg xwhep-bridgesgdg-$VERSION.deb
The Debuan package is then ready in :
$INSTALLERSDIR/linux/dpkg/xwhep-bridgesgdg-$VERSION.deb
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/dpkg/xwhep-bridgesgdg.build.txt
read
fi
fi
echo "Bridgesgdg Debian package ready"
#
# Preparing client RPM package
#
printf "Preparing client RPM package to '$INSTALLERSDIR/linux/rpm/xwhep.client'"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.client/RPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.client/RPMS/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.client/SOURCES/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.client/SOURCES/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.client/SPECS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.client/SPECS/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.client/SRPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.client/SRPMS/"
rpmBuildDir="$INSTALLERSDIR/linux/rpm/xwhep.client/BUILD/"
rpmDir="$rpmBuildDir/xwhep-client-$VERSION"
mkdir -p $rpmDir > /dev/null 2>&1 || fatal "Can't mkdir -p $rpmDir"
printf "."
wkrRpmDir="$rpmDir/$INSTALLDIR/xwhep-client-$VERSION"
mkdir -p $wkrRpmDir/bin > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/bin"
mkdir -p $wkrRpmDir/conf > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/conf"
mkdir -p $wkrRpmDir/keystore > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/keystore"
mkdir -p $wkrRpmDir/lib > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/lib"
mkdir -p $wkrRpmDir/doc > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/doc"
printf "."
cp $ROOTDIR/AUTHORS $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $wkrRpmDir/"
cp $ROOTDIR/ChangeLog $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $wkrRpmDir/"
cp $ROOTDIR/INSTALL $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $wkrRpmDir/"
cp $ROOTDIR/License $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $wkrRpmDir/"
cp $ROOTDIR/License.bouncycastle $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $wkrRpmDir/"
cp $ROOTDIR/License.smartsockets-1.4 $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $wkrRpmDir/"
cp $BINDIR/xtremwebconf.sh $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy bin file to $wkrRpmDir/bin"
cp $BINDIR/* $wkrRpmDir/bin/ > /dev/null 2>&1
rm -f $wkrRpmDir/bin/context.sh > /dev/null 2>&1
rm -f $wkrRpmDir/bin/*sql > /dev/null 2>&1
rm -f $wkrRpmDir/bin/*pl > /dev/null 2>&1
rm -f $wkrRpmDir/bin/*pm > /dev/null 2>&1
RPMCLIENTCONFFILE=$wkrRpmDir/conf/
cp $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME $RPMCLIENTCONFFILE > /dev/null 2>&1 || fatal "Can't copy client conf template to $RPMCLIENTCONFFILE"
SEDVAR=`echo "$INSTALLDIR" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-client-$VERSION\/keystore\/$XWCLIENTKEYSTOREFILENAME/g" > $TMPFILE1
else
grep -E "^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*" $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME | sed "s/^[[:space:]]*#.*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-client-$VERSION\/keystore\/$XWCLIENTKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME $TMPFILE1
echo "SSLKeyStore=/$SEDVAR/xwhep-client-$VERSION/keystore/$XWCLIENTKEYSTOREFILENAME" >> $TMPFILE1
fi
fi
mv -f $TMPFILE1 $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME
cp -f $XWCLIENTKEYSTOREFILE $wkrRpmDir/keystore/ > /dev/null 2>&1 || fatal "Can't copy keystore file to $wkrRpmDir/keystore"
mkdir -p $INSTALLERSDIR/macosx/xwhep.client/installer/PckRoot/Applications/xwhep.client/keystore/
cp -f $XWCLIENTKEYSTOREFILE $INSTALLERSDIR/macosx/xwhep.client/installer/PckRoot/Applications/xwhep.client/keystore/
[ $? -ne 0 ] && fatal "Can't copy $XWCLIENTKEYSTOREFILE to $INSTALLERSDIR/macosx/xwhep.client/installer/PckRoot/Applications/xwhep.client/keystore/"
SOURCE=$LIBDIR/xtremweb.jar
DEST=$wkrRpmDir/lib/
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/bcprov-jdk16-140.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/ibis-util-2.1.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-api-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-log4j12-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/smartsockets-1.4.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/log4j-1.2.17.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
cp -Rf $DOCDIR/* $wkrRpmDir/doc/ > /dev/null 2>&1 || fatal "Can't copy docs to $wkrRpmDir/bin"
cp $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME $wkrRpmDir/conf/ > /dev/null 2>&1 || fatal "Can't copy client conf template to $wkrRpmDir/conf template"
cp $CONFDIR/$XWCLIENTCONFTEMPLATEFILENAME $wkrRpmDir/conf/$XWCLIENTCONFFILENAME > /dev/null 2>&1 || fatal "Can't copy client conf template to $wkrRpmDir/conf"
chmod +x $wkrRpmDir/bin/* > /dev/null 2>&1 || fatal "Can't chmod +x"
chmod -x $wkrRpmDir/bin/*.sql* $wkrRpmDir/bin/*.seds $wkrRpmDir/bin/*.bat $wkrRpmDir/bin/*.xml > /dev/null 2>&1
printf "."
rm -f $INSTALLERSDIR/linux/rpm/xwhep.client/SOURCES/xwhep-client-$VERSION.tar.gz
[ $? -ne 0 ] && fatal "Can't remove tar file"
(cd $rpmBuildDir && tar cvfz $INSTALLERSDIR/linux/rpm/xwhep.client/SOURCES/xwhep-client-$VERSION.tar.gz .) > /dev/null 2>&2
[ $? -ne 0 ] && fatal "Can't create tar file"
printf "."
echo " Done"
if [ $REDHATOS -eq 1 ] ; then
[ -f $HOME/.rpmmacros ] && cp $HOME/.rpmmacros $HOME/.rpmmacros_sav
rm -f $HOME/.rpmmacros
cat > $HOME/.rpmmacros <
%_topdir $INSTALLERSDIR/linux/rpm/xwhep.client/
%_tmppath /tmp
EOF
rpmbuild --buildroot $INSTALLERSDIR/linux/rpm/xwhep.client/BUILD/xwhep-client-$VERSION -bb $INSTALLERSDIR/linux/rpm/xwhep.client/xwhep-client.spec
if [ $? -ne 0 ] ; then
cp -f $HOME/.rpmmacros $CONFDIR/rpmmacros-client
cat < $INSTALLERSDIR/linux/rpm/xwhep.client/RPMBUILD.txt
***********************************************************
ATTENTION
***********************************************************
Can't create client RPM
You may need root privileges to do so...
You will then need an \$HOME/.rpmmacros file.
This file has been created for you here :
$CONFDIR/rpmmacros-client
You can invoke rpmbuild :
$> cp -f $CONFDIR/rpmmacros-client \$HOME/.rpmmacros
$> rpmbuild --buildroot $INSTALLERSDIR/linux/rpm/xwhep.client/BUILD/xwhep-client-$VERSION -bb $INSTALLERSDIR/linux/rpm/xwhep.client/xwhep-client.spec
The RPM is then ready in :
$INSTALLERSDIR/linux/rpm/xwhep.client/RPMS/noarch/
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/rpm/xwhep.client/RPMBUILD.txt
read
fi
[ -f $HOME/.rpmmacros_sav ] && mv $HOME/.rpmmacros_sav $HOME/.rpmmacros
fi
#
# Preparing client DEBIAN package
#
echo
echo "Preparing client Debian package"
mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.client/DEBIAN > /dev/null 2>&1
[ ! -d $INSTALLERSDIR/linux/dpkg/xwhep.client/DEBIAN ] && fatal "Can't mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.client/DEBIAN"
cp -Rf $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.client/ > /dev/null 2>&1 || fatal "Can't copy $rpmDir/* to $INSTALLERSDIR/linux/dpkg/xwhep.client/"
find $INSTALLERSDIR/linux/dpkg/ -type d | xargs chmod 755
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.client/DEBIAN/pre*
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.client/DEBIAN/post*
if [ $DEBIANOS -eq 1 -o $MACOS -eq 1 ] ; then
dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.client xwhep-client-$VERSION.deb
if [ $? -ne 0 ] ; then
cat < $INSTALLERSDIR/linux/dpkg/xwhep-client.build.txt
***********************************************************
ATTENTION
***********************************************************
Can't create client Debian package
You may need root privileges to do so...
You can invoke dpkg-deb :
$> dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.client xwhep-client-$VERSION.deb
The Debuan package is then ready in :
$INSTALLERSDIR/linux/dpkg/xwhep-client-$VERSION.deb
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/dpkg/xwhep-client.build.txt
read
fi
fi
echo "Client Debian package ready"
#
# Preparing client Apple package
#
if [ "$PKGS" = "YES" ] ; then
echo
printf "Preparing client Apple package"
if [ -x $PACKAGEMAKER ] ; then
$PACKAGEMAKER -d $INSTALLERSDIR/macosx/xwhep.client/installer/xwhep-client.pmdoc -o $INSTALLERSDIR/macosx/xwhep.client/installer/xwhep-client-$VERSION.mpkg
if [ $? -eq 0 ] ; then
echo "Done"
else
echo "Error"
fi
echo
else
echo " Can't find $PACKAGEMAKER"
echo " To create Mac OS X installation package:"
echo " - install PackageMaker"
echo " - use it as follows"
echo " $> PackageMaker -d installers/macosx/xwhep.client/installer/xwhep-client.pmdoc -o installers/macosx/xwhep.client/installer/xwhep-client.mpkg"
echo
fi
fi
#
# Preparing worker RPM package
#
echo
printf "Preparing worker RPM package to '$INSTALLERSDIR/linux/rpm/xwhep.worker'"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.worker/RPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.worker/RPMS/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.worker/SOURCES/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.worker/SOURCES/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.worker/SPECS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.worker/SPECS/"
mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.worker/SRPMS/ > /dev/null 2>&1 || fatal "Can't mkdir -p $INSTALLERSDIR/linux/rpm/xwhep.worker/SRPMS/"
rpmBuildDir="$INSTALLERSDIR/linux/rpm/xwhep.worker/BUILD/"
rpmDir="$rpmBuildDir/xwhep-worker-$VERSION"
mkdir -p $rpmDir > /dev/null 2>&1 || fatal "Can't mkdir -p $rpmDir"
printf "."
wkrRpmDir="$rpmDir/$INSTALLDIR/xwhep-worker-$VERSION"
mkdir -p $wkrRpmDir/bin > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/bin"
mkdir -p $wkrRpmDir/conf > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/conf"
mkdir -p $wkrRpmDir/keystore > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/keystore"
mkdir -p $wkrRpmDir/lib > /dev/null 2>&1 || fatal "Can't mkdir -p $wkrRpmDir/lib"
printf "."
cp $ROOTDIR/AUTHORS $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/AUTHORS to $wkrRpmDir/"
cp $ROOTDIR/ChangeLog $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/ChangeLog to $wkrRpmDir/"
cp $ROOTDIR/INSTALL $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/INSTALL to $wkrRpmDir/"
cp $ROOTDIR/License $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License to $wkrRpmDir/"
cp $ROOTDIR/License.bouncycastle $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.bouncycastle to $wkrRpmDir/"
cp $ROOTDIR/License.smartsockets-1.4 $wkrRpmDir/ > /dev/null 2>&1 || fatal "Can't copy $ROOTDIR/License.smartsockets-1.4 to $wkrRpmDir/"
cp $BINDIR/xtremwebconf.sh $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy xtremwebconf.sh to $wkrRpmDir/bin"
cp $BINDIR/xtremweb $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy xtremweb to $wkrRpmDir/bin"
cp $BINDIR/xtremweb.monitor $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy xtremweb.monitor to $wkrRpmDir/bin"
cp $BINDIR/xtremweb.monitor.pl $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy xtremweb.monitor.pl to $wkrRpmDir/bin"
cp $BINDIR/xtremweb.worker $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy xtremweb.worker to $wkrRpmDir/bin"
cp $BINDIR/createvdi $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy createvdi to $wkrRpmDir/bin"
cp $BINDIR/createiso $wkrRpmDir/bin/ > /dev/null 2>&1 || fatal "Can't copy createiso to $wkrRpmDir/bin"
RPMWORKERCONFFILE=$wkrRpmDir/conf/$XWWORKERCONFFILENAME
cp $XWWORKERCONFFILE $RPMWORKERCONFFILE > /dev/null 2>&1 || fatal "Can't copy conf file to $wkrRpmDir/conf/"
cp $XWWORKERCONFFILE $RPMWORKERCONFFILE
SEDVAR=`echo "$INSTALLDIR" | sed -f $SEDCMDS`
grep -E "^[[:space:]]*SSLKeyStore[[:space:]]*=.*" $RPMWORKERCONFFILE > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cat $RPMWORKERCONFFILE | sed "s/^[[:space:]]*SSLKeyStore[[:space:]]*=.*/SSLKeyStore=\/$SEDVAR\/xwhep-worker-$VERSION\/keystore\/$XWWORKERKEYSTOREFILENAME/g" > $TMPFILE1
else
cp -f $RPMWORKERCONFFILE $TMPFILE1
echo "SSLKeyStore=/$SEDVAR/xwhep-worker-$VERSION/keystore/$XWWORKERKEYSTOREFILENAME" >> $TMPFILE1
fi
mv -f $TMPFILE1 $RPMWORKERCONFFILE
cp -f $XWWORKERKEYSTOREFILE $wkrRpmDir/keystore/ > /dev/null 2>&1 || fatal "Can't copy keystore file to $wkrRpmDir/keystore"
SOURCE=$LIBDIR/xtremweb.jar
DEST=$wkrRpmDir/lib/
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/bcprov-jdk16-140.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/ibis-util-2.1.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-api-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/slf4j-log4j12-1.7.2.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/smartsockets-1.4.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/log4j-1.2.17.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/jetty-all-8.1.8.v20121106.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
SOURCE=$LIBDIR/jetty-util-8.1.8.v20121106.jar
cp $SOURCE $DEST > /dev/null 2>&1 || fatal "Can't copy $SOURCE to $DEST"
chmod +x $wkrRpmDir/bin/* > /dev/null 2>&1 || fatal "Can't chmod +x"
chmod -x $wkrRpmDir/bin/*.sql* $wkrRpmDir/bin/*.seds $wkrRpmDir/bin/*.bat $wkrRpmDir/bin/*.xml > /dev/null 2>&1
printf "."
rm -f $INSTALLERSDIR/linux/rpm/xwhep.worker/SOURCES/xwhep-worker-$VERSION.tar.gz
[ $? -ne 0 ] && fatal "Can't remove tar file"
(cd $rpmBuildDir && tar cvfz $INSTALLERSDIR/linux/rpm/xwhep.worker/SOURCES/xwhep-worker-$VERSION.tar.gz .) > /dev/null 2>&2
[ $? -ne 0 ] && fatal "Can't create tar file"
printf "."
echo " Done"
if [ $REDHATOS -eq 1 ] ; then
[ -f $HOME/.rpmmacros ] && cp $HOME/.rpmmacros $HOME/.rpmmacros_sav
rm -f $HOME/.rpmmacros
cat > $HOME/.rpmmacros <
%_topdir $INSTALLERSDIR/linux/rpm/xwhep.worker/
%_tmppath /tmp
EOF
rpmbuild -bb $INSTALLERSDIR/linux/rpm/xwhep.worker/xwhep-worker.spec
if [ $? -ne 0 ] ; then
cp -f $HOME/.rpmmacros $CONFDIR/rpmmacros-worker
cat < $INSTALLERSDIR/linux/rpm/xwhep.worker/RPMBUILD.txt
***********************************************************
ATTENTION
***********************************************************
Can't create worker RPM
You may need root privileges to do so...
You will then need an \$HOME/.rpmmacros file.
This file has been created for you here :
$CONFDIR/rpmmacros-worker
You can invoke rpmbuild :
$> cp -f $CONFDIR/rpmmacros-worker \$HOME/.rpmmacros
$> rpmbuild --buildroot $INSTALLERSDIR/linux/rpm/xwhep.worker/BUILD/xwhep-worker-$VERSION -bb $INSTALLERSDIR/linux/rpm/xwhep.worker/xwhep-worker.spec
The RPM is then ready in :
$INSTALLERSDIR/linux/rpm/xwhep.worker/RPMS/noarch/
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/rpm/xwhep.worker/RPMBUILD.txt
read
fi
[ -f $HOME/.rpmmacros_sav ] && mv $HOME/.rpmmacros_sav $HOME/.rpmmacros
fi
#
# Preparing worker DEBIAN package
#
echo
echo "Preparing worker Debian package"
mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.worker/DEBIAN > /dev/null 2>&1
[ ! -d $INSTALLERSDIR/linux/dpkg/xwhep.worker/DEBIAN ] && fatal "Can't mkdir -p $INSTALLERSDIR/linux/dpkg/xwhep.worker/DEBIAN"
cp -Rf $rpmDir/* $INSTALLERSDIR/linux/dpkg/xwhep.worker/ > /dev/null 2>&1 || fatal "Can't copy $rpmDir/* to $INSTALLERSDIR/linux/dpkg/xwhep.worker"
find $INSTALLERSDIR/linux/dpkg/ -type d | xargs chmod 755
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.worker/DEBIAN/pre*
chmod 755 $INSTALLERSDIR/linux/dpkg/xwhep.worker/DEBIAN/post*
if [ $DEBIANOS -eq 1 -o $MACOS -eq 1 ] ; then
dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.worker xwhep-worker-$VERSION.deb
if [ $? -ne 0 ] ; then
cat < $INSTALLERSDIR/linux/dpkg/xwhep-worker.build.txt
***********************************************************
ATTENTION
***********************************************************
Can't create worker Debian package
You may need root privileges to do so...
You can invoke dpkg-deb :
$> dpkg-deb --build $INSTALLERSDIR/linux/dpkg/xwhep.worker xwhep-worker-$VERSION.deb
The Debuan package is then ready in :
$INSTALLERSDIR/linux/dpkg/xwhep-worker-$VERSION.deb
(Hit Enter key)
EOF
cat $INSTALLERSDIR/linux/dpkg/xwhep-worker.build.txt
read
fi
fi
echo "Worker Debian package ready"
#
# Preparing worker Apple package
#
if [ "$PKGS" = "YES" ] ; then
echo
printf "Preparing worker Apple package"
if [ -x $PACKAGEMAKER ] ; then
$PACKAGEMAKER -d $INSTALLERSDIR/macosx/xwhep.worker/installer/xwhep-worker.pmdoc -o $INSTALLERSDIR/macosx/xwhep.worker/installer/xwhep-worker-$VERSION.mpkg
if [ $? -eq 0 ] ; then
echo "Done"
else
echo "Error"
fi
echo
else
echo " Can't find $PACKAGEMAKER"
echo " To create Mac OS X installation package:"
echo " - install PackageMaker"
echo " - use it as follows"
echo " $> PackageMaker -d installers/macosx/xwhep.worker/installer/xwhep-worker.pmdoc -o installers/macosx/xwhep.worker/installer/xwhep-worker.mpkg"
echo
fi
fi
cat <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
! Everything is now prepared !
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Available packages :
* server
- RedHat RPM in $INSTALLERSDIR/linux/rpm/xwhep.server
- Debian DPKG in $INSTALLERSDIR/linux/dpkg/xwhep.server
- Apple PKG in $INSTALLERSDIR/macosx/xwhep.server
* Desktop Grid to Service Grid bridge
- RedHat RPM in $INSTALLERSDIR/linux/rpm/xwhep.bridgedgsg
- Debian DPKG in $INSTALLERSDIR/linux/dpkg/xwhep.bridgedgsg
* Service Grid to Desktop Grid bridge
- RedHat RPM in $INSTALLERSDIR/linux/rpm/xwhep.bridgesgdg
- Debian DPKG in $INSTALLERSDIR/linux/dpkg/xwhep.bridgesgdg
* client
- RedHat RPM in $INSTALLERSDIR/linux/rpm/xwhep.client
- Debian DPKG in $INSTALLERSDIR/linux/dpkg/xwhep.client
- Apple PKG in $INSTALLERSDIR/macosx/xwhep.client
- Windows installer in $INSTALLERSDIR/win32/xwhep.client/innoSetup
(http://www.innosetup.com/isinfo.php)
* worker
- RedHat RPM in $INSTALLERSDIR/linux/rpm/xwhep.worker
- Debian DPKG in $INSTALLERSDIR/linux/dpkg/xwhep.worker
- Apple PKG in $INSTALLERSDIR/macosx/xwhep.worker
- Windows installer in $INSTALLERSDIR/win32/xwhep.worker/innoSetup
(http://www.innosetup.com/isinfo.php)
* client
- Zip file (platform independant) in $INSTALLERSDIR/xwhep-client-$VERSION.zip
You can manually :
* start the server
- $BINDIR/xwhep.server console
* start a worker
- $BINDIR/xwhep.worker console
* as soon as your server is started you can use the client
- $BINDIR/xwworkers : if you have started a worker, it is in the list
- $BINDIR/xwusers
- $BINDIR/xwapps
- etc.
As soon as everything is ok you should :
* install you server using its packages
* deploy worker over your own volunteer PCs using its packages
* install your worker packages on any of your web sites
if you wish to enable anonymous volunteer power
* install your client ZIP file on any of your web sites
to allow registered users to use the platform
That's all folks
EOF
##################################################
# EOF
##################################################