#!/usr/bin/ksh
# 16:05:49 @(#)common	200.2 12/02/13
#
#########################################################################
#
# Script of common functions to install UNIX-Connect components from a CD-ROM
#

########################################################################
#
# Wait - for user input
#
Wait()
{
    printf "$*\n"
    printf "\n  Hit RETURN to continue "
    if [ $REALQUIET ]
    then
      echo
    else
      read res
    fi
}


########################################################################
#
# VersionToRelease - convert version [T|V]a.b.c.d to $Release = a.b
#
VersionToRelease() # (Version)
{
    Release=${1#T}		# Remove leading T if present
    Release=${Release#V}	# Remove leading V if present
    Release=${Release%.*}
    Release=${Release%.*}

    return 0
}

########################################################################
#
# NameToRoot -	Extract version from Name at specified location,
#		setting following:
#		$Version	- [T|V]a.b.c.d version
#		$Release	- a.b release
#		$Root		- /usr/RCS or /usr/RCS/v[$Release]
#
#		Returns success (0) if directory exists else 1.
#
NameToRoot() # (NamePath)
{
    if [ ! -r $1 ]
    then
	Version="T0.0.0.0"
	Release="0.0"
	Root="/tmp/v0.0"
	ObjMode="32"
	return 1
    fi

    Name=`grep "SW UNIX-Connect" $1 2> /dev/null`
    set $Name
    # Example: SW UNIX-Connect T2.0.0.0 (64BIT) base - Northgate Information Solutions

    case $4 in
	"(64BIT)")	ObjMode=64;;
	"(32BIT)")	ObjMode=32;;
	*)		ObjMode=32;;	# Is old release
    esac

    Version=$3				# Eg. V2.0.0.0
    VersionToRelease $Version		# $Release = a.b from a.b.c.d

    if [ ${Release%%.*} == 1 ]		# If a (of a.b) is 1
    then
	Root=/usr/RCS			# Then it is an old release
    else
	Root=/usr/RCS/v${Release}
    fi

    if [ -d $Root ]
    then
	return 0
    else
	return 1
    fi
}

########################################################################
#
# Versions - Not used from UXC v2.0 upwards
#
Versions()
{
    #set -x
    cd $cdimage
    list=`find . -name Version -print`
    set -- $list
    while [ $# -gt 0 ]
    do
	Comp=$1; shift

	version=`cat $Comp`
	Comp=${Comp%/Version}
	Comp=${Comp#./}

	if [ "$Comp" = "." ]
	then
	    Comp=base
	fi
	bcomp="               "`basename $Comp`
	bcomp=`expr "$bcomp" : ' *\(..............\)'`
	dcomp=`dirname $Comp`"                              "
	dcomp=`expr "$dcomp" : '\(..............................\)'`

	echo "$dcomp $bcomp    Version: $version"
    done
}
