cdesktopenv/cde/admin/BuildTools/tog/install_world

191 lines
4.1 KiB
Bash
Executable File

#!/bin/ksh
#
###########################################################################
# set -x
DEBUG=""
X_TOP=/proj/x11/xc
MOTIF_TOP=/proj/motif
CDE_TOP=/proj/cde
LOG_DATE="`date +%h.%d,%H:%M:%S`"
LOG_ROOT=/project/dt/logs/install
VIEW=`/usr/atria/bin/cleartool pwv -s`
LOG_DIR=$LOG_ROOT/$VIEW/$LOG_DATE
DO_X_INSTALL=False
DO_MOTIF_INSTALL=False
DO_CDE_INSTALL=False
CLEAN_CDE=False
CLEAN_DIRS="/var/dt /etc/dt"
INSTALL_ALL_LOC_MSG=False
INSTALL_ALL_LOC_HELP=False
INSTALL_ALL_LOC_INFO=False
ALL_LOC_MSG="CDE-DE CDE-MSG-DE CDE-ES CDE-MSG-ES CDE-FR CDE-MSG-FR CDE-IT CDE-MSG-IT CDE-JP CDE-MSG-JP"
ALL_LOC_HELP="CDE-HELP-DE CDE-HELP-ES CDE-HELP-FR CDE-HELP-IT CDE-HELP-JP"
ALL_LOC_INFO="CDE-INFOLIB-DE CDE-INFOLIB-ES CDE-INFOLIB-FR CDE-INFOLIB-IT CDE-INFOLIB-JP"
MAKE=/usr/ccs/bin/make
if [ "IRIX" = "`uname -s`" ]; then
MAKE=/sbin/make
fi
############################################################################
usage ()
{
cat <<eof
USAGE: $1
[-x | -x11] # Install X11 only
[-m | -motif] # Install Motif only
[-c | -cde] # Install CDE (C locale) only
[-lm | -lmsg] # Install non-C locale message filesets ($ALL_LOC_MSG)
[-lh | -lhelp] # Install non-C locale help filesets ($ALL_LOC_HELP)
[-li | -linfo] # Install non-C locale infolib filesets ($ALL_LOC_INFO)
[-a | -all] # Install everything, i.e. -x, -m, -c, -lm, -lh, -li
[-clean] # Remove '$CLEAN_DIRS' before installing CDE
[-d | -debug] # Print the install commands but do NOT execute them
[{-l | -log | -log_dir} <log_dir>] # The default is '$LOG_DIR'
[{-mail | mail_list} <user_names>]
[-h | -? | -help] # Print usage and exit
eof
}
##########################################################################
while [ $# -gt 0 ]; do
case $1 in
-x | -x11) DO_X_INSTALL="True"
shift 1 ;;
-m | -motif) DO_MOTIF_INSTALL="True"
shift 1 ;;
-c | -cde) DO_CDE_INSTALL="True"
shift 1 ;;
-a | -all) DO_X_INSTALL="True"
DO_MOTIF_INSTALL="True"
DO_CDE_INSTALL="True"
INSTALL_ALL_LOC_MSG="True"
INSTALL_ALL_LOC_HELP="True"
INSTALL_ALL_LOC_INFO="True"
shift 1 ;;
-lm | -lmsg) INSTALL_ALL_LOC_MSG="True"
shift 1 ;;
-lh | -lhelp) INSTALL_ALL_LOC_HELP="True"
shift 1 ;;
-li | -linfo) INSTALL_ALL_LOC_INFO="True"
shift 1 ;;
-clean) CLEAN_CDE="True"
shift 1 ;;
-d | -debug) DEBUG="echo"
shift 1 ;;
-l | -log | -log_dir) LOG_DIR=$2;
shift 2 ;;
-mail | -mail_list) MAIL_LIST=$2;
shift 2 ;;
-h | "-?" | -help | *) usage $PROG_NAME;
exit 1;
esac
done
#
# Create the log directory
#
if [ -z "$CLEARCASE_ROOT" ]; then
print -u1 "$0: you must have a view set to do an install. Exiting ... "
exit 1
fi
#
# Create the log directory
#
if [ ! -d "$LOG_DIR" ]; then
$DEBUG mkdir -p $LOG_DIR
fi
#
# User must be root to do an install
#
id | grep root > /dev/null 2>&1
if [ "0" != "$?" ]; then
print -u1 "$0: only user 'root' may do an install. Exiting ..."
exit 1
fi
#
# X
#
if [ "True" = "$DO_X_INSTALL" ]; then
$DEBUG cd $X_TOP
$DEBUG $MAKE -i install > $LOG_DIR/x11.install 2>&1
fi
#
# Motif
#
if [ "True" = "$DO_MOTIF_INSTALL" ]; then
$DEBUG cd $MOTIF_TOP
$DEBUG $MAKE -i install.cde > $LOG_DIR/motif.install 2>&1
fi
#
# CDE
#
if [ "True" = "$CLEAN_CDE" ]; then
$DEBUG rm -rf $CLEAN_DIRS
fi
if [ "True" = "$DO_CDE_INSTALL" ]; then
$DEBUG $CDE_TOP/admin/IntegTools/dbTools/installCDE \
-s $CDE_TOP \
> $LOG_DIR/cde.install 2>&1
fi
#
# All localized msgs
#
if [ "True" = "$INSTALL_ALL_LOC_MSG" ]; then
$DEBUG $CDE_TOP/admin/IntegTools/dbTools/installCDE \
-s $CDE_TOP \
-f "$ALL_LOC_MSG" > \
$LOG_DIR/localized_msg.install 2>&1
fi
#
# All localized help
#
if [ "True" = "$INSTALL_ALL_LOC_HELP" ]; then
$DEBUG $CDE_TOP/admin/IntegTools/dbTools/installCDE \
-s $CDE_TOP \
-f "$ALL_LOC_HELP" > \
$LOG_DIR/localized_help.install 2>&1
fi
#
# All localized infolibs
#
if [ "True" = "$INSTALL_ALL_LOC_INFO" ]; then
$DEBUG $CDE_TOP/admin/IntegTools/dbTools/installCDE \
-s $CDE_TOP \
-f "$ALL_LOC_INFO" > \
$LOG_DIR/localized_infolibs.install 2>&1
fi
mv /tmp/CDE* $LOG_DIR