#!/bin/sh # # Copyright (c) 1999 by Sun Microsystems, Inc. # All Rights Reserved # #pragma ident "@(#)postinstall.m4 1.1 99/03/12 SMI" # # Post installation script for SUNWafbgl package # # Output warning if Elite3D Sun OpenGL pipeline requires # a minimum microcode patch. # # # Self contained utility checking minimum Elite3D microcode installed version. # Version 1.0 # verify_Elite3D_microcode_version() { min_major=$1 # Minimum Elite3D microcode version min_minor=$2 # containing polygon offset optimization min_patch=$3 PRTCONF=/usr/sbin/prtconf GREP=/bin/grep STRINGS=/bin/strings AWK=/bin/awk AFB_UCODE=/usr/lib/afb.ucode CUT=/bin/cut isE3D=`${PRTCONF} | ${GREP} SUNW,afb` if [ "${isE3D}" != "" -a -f ${AFB_UCODE} ]; then cur_ver=`${STRINGS} ${AFB_UCODE} | ${AWK} '{print $7}'` # Is the current version same as or newer than the minimum? cur_major=`echo ${cur_ver} | ${CUT} -d. -f1` cur_minor=`echo ${cur_ver} | ${CUT} -d. -f2` if [ ${cur_major} -lt ${min_major} -o \ ${cur_major} -le ${min_major} -a \ ${cur_minor} -lt ${min_minor} ]; then s251_min_patchid="105791-16" s26_min_patchid="105363-17" s7_min_patchid="106148-03 and 106144-05" UNAMER=`/bin/uname -r` UNAMEN=`/bin/uname -n` echo "*******************************************************************************" echo "WARNING: Sun OpenGL Elite3D requires a minimum patch \c" echo "for operating systems:" echo " Solaris 2.5.1 : patchID ${s251_min_patchid}" echo " Solaris 2.6 : patchID ${s26_min_patchid}" echo " Solaris 7 : patchIDs ${s7_min_patchid}" echo "Using Sun OpenGL Elite3D without one of these patches" echo "will cause the system to hang requiring a power cycle." case ${UNAMER} in 5.5.1) min_patchid=${s251_min_patchid} ;; 5.6) min_patchid=${s26_min_patchid} ;; 5.7) min_patchid=${s7_min_patchid} ;; *) ;; esac echo "WARNING: Sun OpenGL Elite3D on ${UNAMEN} \c" echo "minimum required patch: ${min_patchid}" echo "*******************************************************************************" fi fi } verify_Elite3D_microcode_version 1 3 0