#!/sbin/sh
#
# Copyright 1999 Sun Microsystems, Inc. All Rights Reserved
#

#
#  parsePackagesToBeAdded -- Parse through packages_to_be_added
#                         file and determine whether packages
#                         are from Solaris 2of2 and/or lang CD.
#
#
LOG_FILE=disk0_install.log
VIRTUAL_2_TOC=/cdrom/Solaris_8/Product/.virtual_packagetoc_2
VIRTUAL_3_TOC=/cdrom/Solaris_8/Product/.virtual_packagetoc_3
A_VAR_SADM_SYSTEM_DATA=/a/var/sadm/system/data
VIRTUAL_2_PKGS=${A_VAR_SADM_SYSTEM_DATA}/.virtualpkgs2
VIRTUAL_3_PKGS=${A_VAR_SADM_SYSTEM_DATA}/.virtualpkgs3
PKGSTOADDFILE=${A_VAR_SADM_SYSTEM_DATA}/packages_to_be_added


#
# if packages_to_be_added file does not exist, nothing else to do
#
if [ ! -f ${PKGSTOADDFILE} ]
then
	#echo "\nparsePackagesToBeAdded: ${PKGSTOADDFILE} does not exist\n" >> /tmp/$LOG_FILE
	#echo "parsePackagesToBeAdded: exiting\n" >> /tmp/$LOG_FILE
 	exit
fi


#
# ensure at least one .toc files exists, otherwise exit
#
if [ ! -f ${VIRTUAL_2_TOC} -a  ! -f ${VIRTUAL_3_TOC} ]
then
    #echo "parsePackagesToBeAdded: no virtual tocs, exiting\n" >> /tmp/$LOG_FILE
    exit 1
fi



#
# remove old files 
#

if [ -d ${VIRTUAL_2_PKGS} ]
then
	rmdir ${VIRTUAL_2_PKGS}
fi

if [ -d ${VIRTUAL_3_PKGS} ]
then
	rmdir ${VIRTUAL_3_PKGS}
fi



PKGS=`cat ${PKGSTOADDFILE} | grep 'PKGDIR=' | cut -d'=' -f2`

for pkg in ${PKGS}
do
    FOUNDPKG=false
    if [ -f ${VIRTUAL_2_TOC} ] 
    then
        /usr/bin/egrep -s PKGDIR=${pkg} $VIRTUAL_2_TOC 2>&1 
        if [ $? -eq 0 ]
        then
            FOUNDPKG=true
            mkdir ${VIRTUAL_2_PKGS} >/dev/null 2>&1
        fi
    fi

    if [ -f ${VIRTUAL_3_TOC} ]
    then
        /usr/bin/egrep -s PKGDIR=${pkg} $VIRTUAL_3_TOC 2>&1 
        if [ $? -eq 0 ]
        then
            FOUNDPKG=true
            mkdir ${VIRTUAL_3_PKGS} >/dev/null 2>&1
        fi
    fi
    if [ "${FOUNDPKG}" = "false" ]
    then
        echo "\n **$pkg not found in either Virtual CD toc" >> /tmp/$LOG_FILE

    fi

    if [ -d  ${VIRTUAL_2_PKGS} -a -d ${VIRTUAL_3_PKGS} ]
    then
        break
    fi
done


