Files
cdesktop/cde/admin/IntegTools/dbTools/installCDE.src
Jon Trulson 860aa64942 Fix some minor issues and re-enable building of DE, ES, FR, and IT locale data (help and message cats)
Note, there are still some issues with certain programs appearing not
to use their localized message catalogs properly, while others work
fine.

Also, in order to build these now, you need to make sure you have
installed the DE, ES, FR, and IT locales before building or you will
get failures.  On [k]ubuntu, at least, you can install these with the
following commands:

sudo locale-gen de_DE
sudo locale-gen es_ES
sudo locale-gen fr_FR
sudo locale-gen it_IT
2012-07-13 17:42:12 -06:00

987 lines
24 KiB
Plaintext
Executable File

XCOMM! /bin/ksh
XCOMM $XConsortium: installCDE.src /main/20 1996/11/25 14:21:13 drk $
XCOMM
XCOMM This script uses the 'CDE' databases to install either the Desktop
XCOMM environment on a specified machine or creates a tar ball to be used
XCOMM in an install process.
XCOMM
XCOMM this script accepts the following parameters:
XCOMM -s <source> -- The top of build tree where the files are
XCOMM gathered from.
XCOMM -z <package> -- The desktop install package
XCOMM
XCOMM Optional parameters:
XCOMM
XCOMM -t <package destination> -- where to store install package
XCOMM -pI <actual install location> -- where CDE_INSTALLATION_TOP will be linked to.
XCOMM -pC <actual config location> -- where CDE_CONFIGURATION_TOP will be linked to.
XCOMM -pV <actual var location> -- where CDE_LOGFILES_TOP will be linked to.
XCOMM -a <alternate udb directory>
XCOMM -f <filesets> -- a quoted, space-separated list of
XCOMM filesets to load. The .udb extension
XCOMM is not required.
XCOMM
XCOMM -clean -- remove the temporary, configuration and installation
XCOMM directories
XCOMM -cleanTwo-- remove the temporary and installation directories
XCOMM but NOT the configuration directory
XCOMM -cleanEtc-- remove the configuration directories
XCOMM -prog -- load only the development environment
XCOMM -runtime -- load only the runtime environment
XCOMM -pack -- create packing list
XCOMM -pseudo -- don't configure the desktop
XCOMM -nocompress -- don't compress the tarball (-t only)
XCOMM
XCOMM -Lang -- load the localized filesets
XCOMM -LinkStepOnly -- set up the -pI, -pC, and -pV links
XCOMM then exit
XCOMM -DontRunScripts -- stop after installation
XCOMM -RunScriptsOnly -- only execute the scripts
XCOMM -configureOnly -- only configure the desktop
XCOMM
XCOMM ##########################################################################
#define HASH #
#define STAR *
LOGFILE="installCDE.$$.log"
REVISION="$(echo "$Revision: /main/20 $" | awk '{print $2}')"
Log()
{
echo "$1" | tee -a $LOGFILE
}
MakeTarball()
{
Log "\nGenerating UNIX Desktop install package $DATE in $TARBALL_LOCATION"
HASH
HASH create installable tarball
HASH
Log "Creating tarball..."
if [ $PLATFORM = "usl" -o "$PLATFORM" = "uxp" ]
then
ulimit -f unlimited
fi
DIRNAME=build.$DATE
mkdir -p $TARBALL_LOCATION/$DIRNAME
cd /
echo $DATE >$LOGFILES_LOCATION/.build.$DATE
chown bin $LOGFILES_LOCATION/.build.$DATE
if [ "$COMPRESS_TARBALL" = "yes" ]; then
tar -cf - $INSTALL_LOCATION/STAR \
2>$TARBALL_LOCATION/$DIRNAME/extract.err |
compress -c >$TARBALL_LOCATION/$DIRNAME/dttar.Z
else
tar -cf $TARBALL_LOCATION/$DIRNAME/dt.tar \
$INSTALL_LOCATION/STAR \
2>$TARBALL_LOCATION/$DIRNAME/extract.err 2>&1
fi
if [ "$ACTUAL_INSTALLATION_LOC" = "" ]; then
actualInstallDir=$INSTALL_LOCATION
else
actualInstallDir=$ACTUAL_INSTALLATION_LOC
fi
let size=$(du -s $actualInstallDir | awk '{print $1}')*512
HASH load installation fileset *after* tarball generated
LoadFileSet "" "CDE-INSTALL"
HASH create config dir
destPost=$TARBALL_LOCATION/$DIRNAME/config
mkdir $destPost
HASH copy config and platform config scripts
src=$INSTALL_LOCATION/install/$PLATFORM_SCRIPT_DIR
cp $src/config/STAR.cfg $destPost
HASH copy this script and install.dt platform overrides
cp $src/install.dto $TARBALL_LOCATION/$DIRNAME/install.dto
cp $src/install.cde $TARBALL_LOCATION/$DIRNAME/install.cde
chmod 755 $TARBALL_LOCATION/$DIRNAME/install.cde
cd /
Log "done."
cat >$TARBALL_LOCATION/$DIRNAME/dt.pkg <<FIN
PLATFORM: $PLATFORM
VERSION: $REVISION
TS: $DATE
COMPRESSED: $COMPRESS_TARBALL
SIZE: $size
CL: $ORIGINAL_COMMAND_LINE
FILESETS: $DATABASE_FILES
FIN
cat >$TARBALL_LOCATION/$DIRNAME/build.status <<FIN
The UNIX Desktop
BUILD: $DATE
OVERALL STATUS: <not yet tested>
OVERALL PERFORMANCE: <not yet tested>
MAJOR PROBLEMS: <not yet tested>
FIN
chmod g+w $TARBALL_LOCATION/$DIRNAME/build.status
}
DoFilesetScript()
{
typeset ScriptName
FilesetName=$1
if [ "$BUILD_TREE" = "" ]; then
ScriptName=$3 # use short config file name (foo.cfg)
else
ScriptName=$2 # use long config file name (configFoo)
fi
if [ $CDECONFIGDIR = "CONFIG" ]; then
typeset -u ScriptName
fi
test_string=${DATABASE_FILES#*$FilesetName}
if (( ${#DATABASE_FILES} > ${#test_string} ))
then
if [ -x $POST_INSTALL_DIR/$PLATFORM_SCRIPT_DIR/$ScriptName ]
then
Log "Executing $PLATFORM specific $FilesetName customize script"
$POST_INSTALL_DIR/$PLATFORM_SCRIPT_DIR/$ScriptName -e 2>&1 | \
tee -a $LOGFILE
elif [ -x $POST_INSTALL_DIR/$ScriptName ]
then
Log "Executing $FilesetName customize script"
$POST_INSTALL_DIR/$ScriptName -e 2>&1 | tee -a $LOGFILE
fi
fi
}
DoScripts()
{
Log " "
DoFilesetScript CDE-TT configTT tt.cfg
DoFilesetScript CDE-MIN configMin min.cfg
DoFilesetScript CDE-SHLIBS configShlibs shlibs.cfg
DoFilesetScript CDE-RUN configRun run.cfg
}
CreatePackingList()
{
Log " "
Log "Creating packing list."
touch $INSTALL_LOCATION/Packing_list
for i in `echo $DATABASE_FILES`
do
Log " for $i"
$TOOL_DIR/udbToAny.ksh -toDB -ReleaseStream $PLATFORM $DATABASE_DIR/${i}.udb > /tmp/${i}.db
if [ -r /tmp/${i}.db ]
then
for file in `fgrep install_target /tmp/${i}.db | cut -sf 2 -d \: `
do
echo "$file" >>$INSTALL_LOCATION/Packing_list
done
fi
done
}
CleanDaemons()
{
HASH kill these processes so that they can be removed and new ones
HASH installed
for i in inetd rpc.ttdbserver rpc.cmsd
do
if [ "$PLATFORM" = "aix" -a $i = "inetd" ]
then
lssrc -s inetd >/dev/null 2>&1
if [ $? = "0" ]
then
stopsrc -s inetd >>$LOGFILE 2>&1
fi
else
ps -ef | grep $i | grep -v grep >/tmp/tmppsout
if [ -s /tmp/tmppsout ]
then
awk '{print "kill " $2}' /tmp/tmppsout | /bin/csh -f
sleep 2
fi
fi
done
rm -f /tmp/tmppsout
}
RestartInetd()
{
HASH now restart inetd
OLDPWD=`pwd`
cd /
if [ "$PLATFORM" = "sun" -o "$PLATFORM" = "usl" -o "$PLATFORM" = "uxp" ]
then
/usr/sbin/inetd -s
elif [ "$PLATFORM" = "aix" ]
then
startsrc -s inetd >>$LOGFILE 2>&1
elif [ "$PLATFORM" = "dec" ]
then
/usr/sbin/inetd
else
#ifdef hpV4
/usr/sbin/inetd
#else
/etc/inetd
#endif
fi
cd $OLDPWD
}
CheckForActualLocations()
{
XCOMM
XCOMM if different actual locations specified, set up the links
XCOMM
if [ "$CLEAN_DAEMONS" = "yes" ]
then
CleanDaemons
fi
HASH remove the contents of the installation directory then the directory
HASH itself
if [ "$CLEANING" = "yes" ]
then
Log "Removing $INSTALL_LOCATION contents... "
if [ -d $INSTALL_LOCATION ]
then
rm -rf $INSTALL_LOCATION/STAR
if [ "$LeaveLinks" = "yes" ]
then
if [ ! -L $INSTALL_LOCATION ]
then
rm -rf $INSTALL_LOCATION
fi
else
if [ -L $INSTALL_LOCATION ]
then
rm -f $INSTALL_LOCATION
else
rm -rf $INSTALL_LOCATION
fi
fi
fi
fi
if [ "$CONFIGURE_ONLY" = "no" ]
then
if [ "$ACTUAL_INSTALLATION_LOC" != "" ]
then
HASH
HASH first create the actual directory - if not there
HASH
if [ ! -d $ACTUAL_INSTALLATION_LOC ]
then
mkdir -p $ACTUAL_INSTALLATION_LOC
if [ ! -d $ACTUAL_INSTALLATION_LOC ]
then
Log "cannot create $ACTUAL_INSTALLATION_LOC directory"
exit 1
fi
fi
ln -s $ACTUAL_INSTALLATION_LOC $INSTALL_LOCATION
else
if [ ! -d $INSTALL_LOCATION -a ! -L $INSTALL_LOCATION ];
then
mkdir -p $INSTALL_LOCATION
fi
fi
fi
if [ "$CLEAN_DAEMONS" = "yes" ]
then
RestartInetd
fi
HASH remove the contents of the configuration directory
if [ "$CLEANING_ETC" = "yes" ]
then
Log "Removing $CONFIGURE_LOCATION contents... "
if [ -d $CONFIGURE_LOCATION ]
then
rm -rf $CONFIGURE_LOCATION/STAR
if [ "$LeaveLinks" = "yes" ]
then
if [ ! -L $CONFIGURE_LOCATION ]
then
rm -rf $CONFIGURE_LOCATION
fi
else
if [ -L $CONFIGURE_LOCATION ]
then
rm -f $CONFIGURE_LOCATION
else
rm -rf $CONFIGURE_LOCATION
fi
fi
fi
fi
if [ "$ACTUAL_CONFIGURATION_LOC" != "" ]
then
if [ ! -d $ACTUAL_CONFIGURATION_LOC ]
then
mkdir -p $ACTUAL_CONFIGURATION_LOC
if [ ! -d $ACTUAL_CONFIGURATION_LOC ]
then
Log "cannot create $ACTUAL_CONFIGURATION_LOC directory"
exit 1
fi
fi
ln -s $ACTUAL_CONFIGURATION_LOC $CONFIGURE_LOCATION
else
if [ ! -d $CONFIGURE_LOCATION -a ! -L $CONFIGURE_LOCATION ];
then
mkdir -p $CONFIGURE_LOCATION
fi
fi
if [ "$CLEANING" = "yes" ]
then
Log "Removing $LOGFILES_LOCATION contents... "
if [ -d $LOGFILES_LOCATION ]
then
rm -rf $LOGFILES_LOCATION/STAR
if [ "$LeaveLinks" = "yes" ]
then
if [ ! -L $LOGFILES_LOCATION ]
then
rm -rf $LOGFILES_LOCATION
fi
else
if [ -L $LOGFILES_LOCATION ]
then
rm -f $LOGFILES_LOCATION
else
rm -rf $LOGFILES_LOCATION
fi
fi
fi
fi
if [ "$ACTUAL_VAR_LOC" != "" ]
then
if [ ! -d $ACTUAL_VAR_LOC ]
then
mkdir -p $ACTUAL_VAR_LOC
if [ ! -d $ACTUAL_VAR_LOC ]
then
Log "cannot create $ACTUAL_VAR_LOC directory"
exit 1
fi
fi
ln -s $ACTUAL_VAR_LOC $LOGFILES_LOCATION
else
if [ ! -d $LOGFILES_LOCATION -a ! -L $LOGFILES_LOCATION ];
then
mkdir -p $LOGFILES_LOCATION
fi
fi
Log " "
}
USAGE()
{
echo -e "Usage: $(basename $0) {-s <source>|-z <package>} [options]"
echo -e ""
echo -e "\t-s <source>\t\t\tthe top of the build tree"
echo -e "\t-z <package>\t\tthe desktop install package"
echo -e ""
echo -e "\tOptions:"
echo -e ""
echo -e "\t[-t <package_destination>]\tif specified create an"
echo -e "\t\t\t\t\tinstall package and store it in the"
echo -e "\t\t\t\t\tdestination."
echo -e "\t[-pI <actual install location>]\twhere" CDE_INSTALLATION_TOP "will be linked to."
echo -e "\t[-pC <actual config location>]\twhere" CDE_CONFIGURATION_TOP "will be linked to."
echo -e "\t[-pV <actual var location>]\twhere" CDE_LOGFILES_TOP "will be linked to."
echo -e ""
echo -e "\t[-a <udb directory>]\t\talternate place to get the"
echo -e "\t\t\t\t\tudb files from."
echo -e "\t[-f <filesets>]\t\t\tspecify filesets to be loaded."
echo -e "\t\t\t\t\tThe list should be double-quoted,"
echo -e "\t\t\t\t\tspace-separated, with no .udb"
echo -e "\t\t\t\t\textensions."
echo -e ""
echo -e "\t[-clean]\t\t\tremove the temporary, configuration, and"
echo -e "\t\t\t\t\tinstallation directory"
echo -e "\t[-cleanTwo]\t\t\tremove the temporary and installation "
echo -e "\t\t\t\t\tdirectory, but NOT the configuration directory"
echo -e "\t[-cleanEtc]\t\t\tremove the configuration directory, but "
echo -e "\t\t\t\t\NOT the temporary and installation directories"
echo -e "\t[-prog]\t\t\t\tload only the development environment"
echo -e "\t[-runtime]\t\t\tload only the runtime environment"
echo -e "\t[-relative]\t\t\trun the relative-located config scripts"
echo -e "\t[-pack]\t\t\t\tcreate a packing list"
echo -e "\t[-pseudo]\t\t\tdo not configure desktop when installing"
echo -e "\t[-nocompress]\t\t\tdo not compress tarball when creating package"
echo -e "\t[-lang LANG]\t\t\tspecify LANG to load appropriate localized"
echo -e "\t\t\t\t\tfilesets"
echo -e "\t[-LeaveLinks]\t\t\t\tdo not delete the links after cleaning"
echo -e ""
echo -e "\t[-LinkStepOnly]\t\t\tset up the -pI, -pC, and -pV links"
echo -e "\t\t\t\t\tthen exit"
echo -e "\t[-DontRunScripts]\t\tstop after installation"
echo -e "\t[-RunScriptsOnly]\t\tonly execute the scripts"
echo -e "\t[-configureOnly]\t\tonly configure the desktop"
echo -e ""
echo -e "\tExamples:"
echo -e ""
echo -e "\tinstallCDE -s /x/cde_hp700_90"
echo -e "\tinstallCDE -s /x/cde_aix_32 -f \"CDE_MIN CDE-SHLIBS\""
echo -e "\tinstallCDE -s /x/cde_sun_52 -pI /bigdisk/opt/dt -clean"
echo -e "\tinstallCDE -s /x/cde_sun_52 -pI /dtinstall -clean\\"
echo -e "\t\t-pseudo -t /dtpackages -nocompress"
}
XCOMM
XCOMM LoadFileSet() - load a UDB file
XCOMM $1 - fileset number
XCOMM $2 - fileset name
XCOMM
LoadFileSet()
{
if [ "$1" = "" ]; then
num=""
else
num="$1."
fi
XCOMM don't bother if the fileset doesn't exist
if [ ! -e $DATABASE_DIR/${2}.udb ]
then
return
fi
Log " $num installing database $2"
Log " - creating ${2}.lst file"
$TOOL_DIR/udbToAny.ksh -toLst -ReleaseStream $PLATFORM \
$DATABASE_DIR/${2}.udb > /tmp/${2}.lst
Log " - installing ... \c"
$TOOL_DIR/mkProd -D / -S $BUILD_TREE /tmp/${2}.lst \
2>/tmp/${2}.err 1>/tmp/${2}.good
Log "done."
Log " - checking for errors ..."
rm -f /tmp/${2}.missing
awk '{if ($1 == "ERROR:") print " " $4}' \
/tmp/${2}.err >> /tmp/${2}.missing
if [ -s /tmp/${2}.missing ]
then
Log " - missing files:"
cat /tmp/${2}.missing | tee -a $LOGFILE
fi
}
ORIGINAL_COMMAND_LINE="$*"
XCOMM Set which system we are on
BUILDSYSTEM=$(uname)
PLATFORM=""
PLATFORM_SCRIPT_DIR=""
XCOMM
XCOMM Set system
XCOMM
if [ $BUILDSYSTEM = "AIX" ];
then
PLATFORM=aix
PLATFORM_SCRIPT_DIR=ibm
elif [ $BUILDSYSTEM = "SunOS" ];
then
PLATFORM=sun
PLATFORM_SCRIPT_DIR=sun
elif [ $BUILDSYSTEM = "UNIX_SV" ];
then
PLATFORM=usl
PLATFORM_SCRIPT_DIR=usl
elif [ $BUILDSYSTEM = "UNIX_System_V" ];
then
PLATFORM=uxp
PLATFORM_SCRIPT_DIR=uxp
elif [ $BUILDSYSTEM = "OSF1" ];
then
PLATFORM=dec
PLATFORM_SCRIPT_DIR=dec
elif [ $BUILDSYSTEM = "Linux" ];
then
PLATFORM="linux"
PLATFORM_SCRIPT_DIR=""
else # Build system = HP
PLATFORM=hp-ux
PLATFORM_SCRIPT_DIR=hp
fi
if [ "$PLATFORM" = "aix" ];
then
USER=`/bin/whoami`
elif [ "$PLATFORM" = "sun" -o "$PLATFORM" = "usl" -o "$PLATFORM" = "uxp" ];
then
USER=`/usr/ucb/whoami`
else
USER=`/usr/bin/whoami`
fi
if [ "$USER" != "root" ];
then
echo ""
echo "You should be root to run this script. Continuing anyway."
echo ""
fi
if [ "$PLATFORM" = "usl" -o "$PLATFORM" = "uxp" ]
then
umask 000
fi
unset TMPDIR
PATH=/bin:/usr/bin:/etc:/usr/bin/X11:
export PATH
CLEANING="no"
CLEANING_ETC="no"
TARBALL="no"
COMPRESS_TARBALL="yes"
USE_ALTERNATE_UDB_DIR="no"
DEVELOP_ENV="no"
RUNTIME_ENV="no"
USE_RELATIVE="no"
STARTING_DIR=$PWD
ACTUAL_INSTALLATION_LOC=""
ACTUAL_CONFIGURATION_LOC=""
ACTUAL_VAR_LOC=""
CREATE_PACKING_LIST="no"
DO_LINK_STEP_ONLY="no"
DO_INSTALL_ONLY="no"
RUN_SCRIPTS="yes"
RUN_SCRIPTS_ONLY="no"
DATABASE_FILES=""
BUILD_TREE=""
TAR_DIR=""
LeaveLinks="no"
REMOVE_LINKS="no"
CLEAN_DAEMONS="yes"
theLang=""
CONFIGURE_ONLY="no"
rm -f $LOGFILE
Log "Options specified..."
while [ $# -ne 0 ]; do
case $1 in
-s) Log " - get the build tree to extract from"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
BUILD_TREE=$1
shift;
;;
-z) Log " - get the install package to extract from"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
TAR_TREE=$1
shift;
;;
-t) Log " - where to put the install package"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
if [ "$SOURCE_TAR_FILE" = "" ]
then
TARBALL="yes"
TARBALL_LOCATION=$1
fi
shift;
;;
-a) Log " - alternate place to get the udb files from"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
ALTERNATE_UDB_DIR=$1
USE_ALTERNATE_UDB_DIR="yes"
shift;
;;
-f) Log " - load specific filesets"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
DATABASE_FILES=$1
shift;
;;
-p) Log " - get all locations"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
ACTUAL_INSTALLATION_LOC=$1
ACTUAL_CONFIGURATION_LOC=$1
ACTUAL_VAR_LOC=$1
shift;
;;
-pI) Log " - get actual installation location"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
ACTUAL_INSTALLATION_LOC=$1
shift;
;;
-pC) Log " - get actual configuration location"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
ACTUAL_CONFIGURATION_LOC=$1
shift;
;;
-pV) Log " - get actual var location"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
ACTUAL_VAR_LOC=$1
shift;
;;
-clean) Log " - delete all three cde directories"
CLEANING="yes"
CLEANING_ETC="yes"
shift;
;;
-cleanTwo) Log " - delete only temporary and installation directories"
CLEANING="yes"
shift;
;;
-cleanEtc) Log " - delete only the configuration directory"
CLEANING_ETC="yes"
shift;
;;
-prog) Log " - load only the development environment"
DEVELOP_ENV="yes"
RUNTIME_ENV="no"
shift;
;;
-runtime) Log " - load only the runtime environment"
RUNTIME_ENV="yes"
DEVELOP_ENV="no"
shift;
;;
-relative) Log " - run the relative-located config scripts"
USE_RELATIVE="yes"
shift;
;;
-pack) Log " - create a packing list"
CREATE_PACKING_LIST="yes"
shift;
;;
-LeaveLinks) Log " - do not remove the links"
LeaveLinks="yes"
shift;
;;
-LinkStepOnly) Log " - do link step only"
DO_LINK_STEP_ONLY="yes"
shift;
;;
-DontRunScripts) Log " - stop after installation"
DO_INSTALL_ONLY="yes"
shift;
;;
-RunScriptsOnly) Log " - only run scripts"
RUN_SCRIPTS_ONLY="yes"
shift;
;;
-pseudo) Log " - pseudo install"
RUN_SCRIPTS="no"
REMOVE_LINKS="yes"
CLEAN_DAEMONS="no"
shift;
;;
-nocompress) Log " - do not compress tarball"
COMPRESS_TARBALL="no"
shift;
;;
-lang) Log " - load localized filesets"
shift;
[ $# -ne 0 ] || {
USAGE
exit 1;
}
theLang=$1
shift;
;;
-configureOnly) Log " - Configure only"
CONFIGURE_ONLY="yes"
CLEAN_DAEMONS="yes"
shift;
;;
*) Log " - unknown option"
USAGE
exit 1;
;;
esac
done
echo ""
if [ -z "$BUILD_TREE" -a -z "$TAR_TREE" ]
then
USAGE
exit 1
fi
if [ "$BUILD_TREE" != "" -a ! -d "$BUILD_TREE" ]
then
Log "Build tree does not exist."
exit 1
fi
if [ "$TAR_TREE" != "" -a ! -d "$TAR_TREE" ]
then
Log "Tar tree does not exist."
exit 1
fi
CDEPACKAGE=dt.pkg
CDETARFILE=dt.tar
CDETARFILEZ=dttar.Z
CDECONFIGDIR=config
XCOMM
XCOMM get the current time stamp if going to create a tarball
XCOMM
if [ $TARBALL = "yes" ];
then
set -- `/bin/date`
DATE=$2_$3_$4_$6
fi
if [ -z "$BUILD_TREE" -a ${0##STAR/} = INSTALL.CDE ]; then
typeset -u CDEPACKAGE
typeset -u CDETARFILE
typeset -u CDETARFILEZ
typeset -u CDECONFIGDIR
fi
TOOL_DIR=$BUILD_TREE/admin/IntegTools/dbTools
if [ "$USE_RELATIVE" = "yes" ]
then
POST_INSTALL_DIR=../post_install
else
if [ -z "$BUILD_TREE" ]
then
POST_INSTALL_DIR=$TAR_TREE/$CDECONFIGDIR
else
POST_INSTALL_DIR=$BUILD_TREE/admin/IntegTools/post_install
fi
fi
if [ "$USE_ALTERNATE_UDB_DIR" = "yes" ]
then
DATABASE_DIR=$ALTERNATE_UDB_DIR/databases
else
DATABASE_DIR=$BUILD_TREE/databases
fi
if [ "$DATABASE_FILES" = "" ]
then
if [ "$DEVELOP_ENV" = "yes" ]
then
DATABASE_FILES="CDE-HELP-PRG CDE-PRG CDE-INC CDE-DEMOS \
CDE-MAN-DEV CDE-SHLIBS"
elif [ "$RUNTIME_ENV" = "yes" ]
then
DATABASE_FILES="CDE-RUN CDE-MIN CDE-TT CDE-MAN CDE-HELP-RUN CDE-C \
CDE-HELP-C CDE-MSG-C CDE-SHLIBS CDE-ICONS CDE-FONTS \
CDE-INFO CDE-INFOLIB-C"
else
DATABASE_FILES="CDE-RUN CDE-MIN CDE-TT CDE-MAN CDE-HELP-RUN CDE-C \
CDE-MSG-C CDE-HELP-C CDE-SHLIBS CDE-HELP-PRG \
CDE-PRG CDE-INC CDE-DEMOS CDE-MAN-DEV CDE-ICONS \
CDE-FONTS CDE-INFO CDE-INFOLIB-C"
fi
HASH now load any localized filesets
if [ "$DEVELOP_ENV" != "yes" ]
then
if [ "$theLang" != "" ]
then
DATABASE_FILES="$DATABASE_FILES CDE-$theLang CDE-MSG-$theLang \
CDE-HELP-$theLang"
else
HASH load all current (working) languages
DATABASE_FILES="$DATABASE_FILES \
CDE-DE \
CDE-MSG-DE \
CDE-HELP-DE \
CDE-ES \
CDE-MSG-ES \
CDE-HELP-ES \
CDE-FR \
CDE-MSG-FR \
CDE-HELP-FR \
CDE-IT \
CDE-MSG-IT \
CDE-HELP-IT "
fi
fi
fi
INSTALL_LOCATION=CDE_INSTALLATION_TOP
CONFIGURE_LOCATION=CDE_CONFIGURATION_TOP
LOGFILES_LOCATION=CDE_LOGFILES_TOP
if [ -L $INSTALL_LOCATION -a "$CONFIGURE_ONLY" != "yes" ]
then
touch $INSTALL_LOCATION/foo >/dev/null 2>/dev/null
if [ ! -f $INSTALL_LOCATION/foo ]
then
Log "Insufficient permissions to install CDE files in $INSTALL_LOCATION"
exit 1
fi
if [ ! -O $INSTALL_LOCATION/foo ]
then
Log "Root access to $INSTALL_LOCATION is required for CDE installation."
exit 1
fi
rm $INSTALL_LOCATION/foo
fi
if [ -d $INSTALL_LOCATION ]
then
if [ -x $INSTALL_LOCATION/bin -a ! -d $INSTALL_LOCATION/bin ]
then
rm -f $INSTALL_LOCATION/bin
fi
fi
if [ "$CONFIGURE_ONLY" = "yes" ]
then
CheckForActualLocations
DoScripts
Log "Configuration completed."
exit 0
fi
if [ "$RUN_SCRIPTS_ONLY" = "yes" ]
then
DoScripts
exit 0
fi
CheckForActualLocations
if [ "$DO_LINK_STEP_ONLY" = "yes" ]
then
exit 0
fi
if [ "$CREATE_PACKING_LIST" = "yes" ]
then
CreatePackingList
exit 0
fi
XCOMM
XCOMM we are ready to load the environment ...
XCOMM
if [ "$BUILD_TREE" != "" ]
then
Log "Load the Desktop from $BUILD_TREE"
cd $STARTING_DIR
let j=1
for i in `echo $DATABASE_FILES`
do
LoadFileSet "$j" "$i"
let j=j+1
done
else
Log "Load the Desktop from $TAR_TREE"
compressed=$(awk '/COMPRESSED: /{print $2}' $TAR_TREE/$CDEPACKAGE)
if [ "$compressed" = "yes" ]; then
uncompress <$TAR_TREE/$CDETARFILEZ | tar xvf - $INSTALL_LOCATION
else
tar -xvf $TAR_TREE/$CDETARFILE $INSTALL_LOCATION
fi
DATABASE_FILES=$(awk 'BEGIN {FS=":"} /FILESETS: /{print $2}' $TAR_TREE/$CDEPACKAGE)
fi
Log " "
Log "Desktop installed in $INSTALL_LOCATION"
if [ "$DO_INSTALL_ONLY" = "yes" ]
then
exit 0
fi
if [ $TARBALL = "yes" ];
then
MakeTarball
fi
cd $STARTING_DIR
if [ "$RUN_SCRIPTS" = "yes" ]
then
DoScripts
fi
if [ "$REMOVE_LINKS" = "yes" ]
then
[ -L /usr/dt ] && rm /usr/dt
[ -L /etc/dt ] && rm /etc/dt
[ -L /var/dt ] && rm /var/dt
fi
echo "Done."
echo ""
echo "See $LOGFILE for a log of this install session."
echo ""