#!/bin/sh
#
# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

EXEC_BASE=/usr
PKGCOND=/usr/bin/pkgcond
MKFONTDIR=$EXEC_BASE/openwin/bin/mkfontdir
ENV_MKFONTDIR=$MKFONTDIR
DISKLESS_SRVC=`echo $BASEDIR | /usr/bin/grep export/Solaris_[1-9][0-9]/usr_${ARCH}.all`

is_srngz=99
is_ngz=99

if [ -x $PKGCOND ]; then
     $PKGCOND -v is_sparse_root_nonglobal_zone > /dev/null 2>&1
     is_srngz=$?
     $PKGCOND -v is_nonglobal_zone > /dev/null 2>&1
     is_ngz=$?
fi

if [ $is_ngz -eq 0 ]; then
    if [  "$DISKLESS_SRVC" ]; then
        EXEC_BASE=/usr
    else
        EXEC_BASE=$BASEDIR
    fi

    MKFONTDIR=$EXEC_BASE/openwin/bin/mkfontdir
    ENV_MKFONTDIR="env LD_LIBRARY_PATH=$BASEDIR/openwin/server/lib:$BASEDIR/openwin/lib $MKFONTDIR"
fi

if [ $is_srngz -ne 0 ]; then
    if [ ! -x $MKFONTDIR ]; then
        # if mkfontdir doesn't exist we cannot proceed
        exit 2
    fi
fi

##
## 'pkgcond' does not exist when you do live upgrade from S8/S9
## so in that case, use 'touch' instead for the testing
##
test_writable() {
    if [ $is_srngz -ne 99 ]; then
        $PKGCOND is_path_writable $1 && return $?
    else
        /usr/bin/touch $1/.test.$$ > /dev/null 2>&1
        if [ $? !=  0 ]; then
            return 1
        else
            rm -f  $1/.test.$$ > /dev/null 2>&1
            return 0
        fi
    fi
}

for i in zh.GBK zh_CN.GB18030; do
    FONTINSTDIR=$BASEDIR/openwin/lib/locale/$i/X11/fonts/TrueType
    if [ -d  $FONTINSTDIR ]; then
            if test_writable $FONTINSTDIR; then
                cd $FONTINSTDIR
        
                cp -f fonts.alias.base fonts.alias
                cp -f fonts.scale.base fonts.scale
    
                $ENV_MKFONTDIR .
            fi
    fi
done

installf -f $PKGINST || exit 2

exit 0
