Initial revision
This commit is contained in:
221
doc/manager/sicsinstall
Executable file
221
doc/manager/sicsinstall
Executable file
@@ -0,0 +1,221 @@
|
||||
#!/usr/bin/ksh
|
||||
#----------------------------------------------------------------------------
|
||||
# script for installing SICS software on to a system.
|
||||
# The source of the data muste be visible to the filesystem.
|
||||
# This script installs SW into directories beyond your current directory
|
||||
# So, on an instrument account it would be feasible to run this from the
|
||||
# home directory. The script checks if we are at home, else it will print
|
||||
# a warning.
|
||||
#
|
||||
# this script understands a few arguments:
|
||||
#
|
||||
# dev - copies new executables from development area to
|
||||
# distribution area
|
||||
# devfull - copies all files from development area to
|
||||
# distribution area
|
||||
# dmc - installs all files for running dmc
|
||||
# topsi - install all files for topsi
|
||||
# sans - installs all files for sans
|
||||
# doc - updates only the documentation
|
||||
# exe - installs only new executables
|
||||
# debug - copies only the server to current directory
|
||||
# lib - copies clients from the distribution area to
|
||||
# the common program library.
|
||||
#
|
||||
# Mark Koennecke, Juli 1998
|
||||
#----------------------------------------------------------------------------
|
||||
#=========================== data area ====================================
|
||||
devdir=/data/koenneck/src/sics # development directory
|
||||
|
||||
disdir=/data/lnslib/src/sics # distribution directory
|
||||
|
||||
dirdir="bin data doc log" # SICS directories
|
||||
|
||||
bindir=/data/lnslib/bin # common directory for binaries
|
||||
|
||||
clients="sicsclient.jar powderstatus.jar sansstatus.jar topsistatus.jar"
|
||||
#======================= Functions ========================================
|
||||
#------------------ check if in home directory
|
||||
checkhome() {
|
||||
if [ $HOME != $(pwd) ]; then
|
||||
echo "You are not in your home directory."
|
||||
echo "This may cause a non standard SICS installation"
|
||||
echo "Do you want me to continue(Y,y) or abort(any other character)"
|
||||
read answer
|
||||
if [ \( $answer = Y \) -o \( $answer = y \) ]; then
|
||||
echo "OK, I start clobbering......"
|
||||
else
|
||||
echo "Script aborting........."
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#------------------- print usage
|
||||
usage() {
|
||||
echo "USAGE:"
|
||||
echo "This script copies SICS software. You need to tell this program"
|
||||
echo "what to do by specifying one of the keywords below:"
|
||||
echo ""
|
||||
echo "dev - copies new executables from development area to"
|
||||
echo " distribution area (MK only)"
|
||||
echo "devfull - copies all files from development area to"
|
||||
echo " distribution area (MK only)"
|
||||
echo "dmc - installs all files for running dmc"
|
||||
echo "topsi - install all files for topsi"
|
||||
echo "sans - installs all files for sans "
|
||||
echo "doc - updates only the documentation"
|
||||
echo "exe - installs only new executables"
|
||||
echo "lib - copies new clients to common program area"
|
||||
echo ""
|
||||
echo "Mark Koennecke, LNS, Juli 1998"
|
||||
}
|
||||
#------------------ copy new executables
|
||||
copydev () {
|
||||
echo "Copying new executable files from development area to distribution.."
|
||||
cp $devdir/SICServer $devdir/psish/psish $devdir/psish/pish $disdir/bin
|
||||
for cl in $clients; do
|
||||
cp $devdir/SicsClient/$cl $disdir/bin
|
||||
done
|
||||
cp $devdir/replicator/replicator.jar $disdir/bin
|
||||
}
|
||||
#------------------ copy to common program area
|
||||
copylib() {
|
||||
echo "Copying new client files to common LNS program area"
|
||||
cp $disdir/bin/*.jar $bindir
|
||||
}
|
||||
#------------------ copy all new stuff
|
||||
copydevfull () {
|
||||
echo "Copying ALL files from development area to distribution.."
|
||||
copydev
|
||||
echo "Copying documentation"
|
||||
cp $devdir/user/*.htm $disdir/doc
|
||||
cp $devdir/user/*.html $disdir/doc
|
||||
cp $devdir/user/*.ps $disdir/doc
|
||||
cp $devdir/manager/*.htm $disdir/manager
|
||||
}
|
||||
#------------------ copy only new executables
|
||||
copyexe () {
|
||||
echo "Copying new executable files"
|
||||
cp $disdir/bin/SICServer $disdir/bin/psish $disdir/bin/pish bin
|
||||
for cl in $clients; do
|
||||
cp $disdir/bin/$cl bin
|
||||
done
|
||||
cp $disdir/bin/sics bin
|
||||
cp $disdir/bin/powderstatus bin
|
||||
cp $disdir/bin/sansstatus bin
|
||||
cp $disdir/bin/topsistatus bin
|
||||
cp $disdir/bin/replicator.jar
|
||||
}
|
||||
#----------------- copy documentation
|
||||
copydoc () {
|
||||
echo "Copying documentation"
|
||||
cp $disdir/doc/*.htm doc
|
||||
cp $disdir/doc/*.html doc
|
||||
cp $disdir/doc/*.ps doc
|
||||
}
|
||||
#----------------- DMC special files
|
||||
copydmc () {
|
||||
echo "Copying DMC special files"
|
||||
cp $disdir/bin/count.tcl $disdir/bin/init.tcl \
|
||||
$disdir/bin/log.tcl $disdir/bin/xydialog.tcl $disdir/bin/CheckSICS bin
|
||||
cp $disdir/bin/dmc/* bin
|
||||
if [ -e data/DataNumber ]; then
|
||||
echo "DataNumber found, OK"
|
||||
else
|
||||
echo "WARNING: Creating new DataNumber file with 0, adjust as needed"
|
||||
echo " 0" > data/DataNumber
|
||||
fi
|
||||
echo "Done, configuration files may need editing"
|
||||
}
|
||||
#----------------- TOPSI special files
|
||||
copytopsi () {
|
||||
echo "Copying TOPSI special files"
|
||||
cp $disdir/bin/count.tcl $disdir/bin/init.tcl \
|
||||
$disdir/bin/log.tcl $disdir/bin/CheckSICS bin
|
||||
cp $disdir/bin/topsi/* bin
|
||||
if [ -e data/DataNumber ]; then
|
||||
echo "DataNumber found, OK"
|
||||
else
|
||||
echo "WARNING: Creating new DataNumber file with 0, adjust as needed"
|
||||
echo " 0" > data/DataNumber
|
||||
fi
|
||||
echo "Done, configuration files may need editing"
|
||||
}
|
||||
#----------------- SANS special files
|
||||
copysans() {
|
||||
echo "Copying SANS special files"
|
||||
cp $disdir/bin/count.tcl $disdir/bin/init.tcl \
|
||||
$disdir/bin/log.tcl $disdir/bin/CheckSICS bin
|
||||
cp $disdir/bin/sans/* bin
|
||||
if [ -e data/DataNumber ]; then
|
||||
echo "DataNumber found, OK"
|
||||
else
|
||||
echo "WARNING: Creating new DataNumber file with 0, adjust as needed"
|
||||
echo " 0" > data/DataNumber
|
||||
fi
|
||||
echo "Done, configuration files may need editing"
|
||||
}
|
||||
|
||||
#------------------ check SICS directories
|
||||
checkdir() {
|
||||
echo "Checking directory structure, creating as needed"
|
||||
for dd in $dirdir; do
|
||||
if [ -d $dd ]; then
|
||||
echo "$dd present"
|
||||
else
|
||||
echo "Creating $dd"
|
||||
mkdir $dd
|
||||
fi
|
||||
done
|
||||
}
|
||||
#-------------- the case for checking the command parameter
|
||||
case ${1-nix} in
|
||||
dev)
|
||||
copydev
|
||||
;;
|
||||
devfull)
|
||||
copydevfull
|
||||
;;
|
||||
exe)
|
||||
checkhome
|
||||
checkdir
|
||||
copyexe
|
||||
;;
|
||||
doc)
|
||||
checkhome
|
||||
checkdir
|
||||
copydoc
|
||||
;;
|
||||
dmc)
|
||||
checkhome
|
||||
checkdir
|
||||
copyexe
|
||||
copydoc
|
||||
copydmc
|
||||
;;
|
||||
topsi)
|
||||
checkhome
|
||||
checkdir
|
||||
copyexe
|
||||
copydoc
|
||||
copytopsi
|
||||
;;
|
||||
sans)
|
||||
checkhome
|
||||
checkdir
|
||||
copyexe
|
||||
copydoc
|
||||
copysans
|
||||
;;
|
||||
lib)
|
||||
copylib
|
||||
;;
|
||||
debug)
|
||||
cp $devdir/SICServer .
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
echo "sicsinstall finished with more or less success"
|
||||
Reference in New Issue
Block a user