#!/bin/sh # #pragma ident "@(#)seamfixconfig 1.2 99/11/19 SMI" # # Copyright (c) 1999 by Sun Microsystems, Inc. # All rights reserved. # # usage: seamfixconfig [ response_dir ] if [ "$PKG_INSTALL_ROOT" != "" ] then pkgcmd_opts="-R $PKG_INSTALL_ROOT" else pkgcmd_opts="" fi cmd_dir=`dirname $0` # # In case the script from the wrong architecture is run, # we compensate. # pkg_dir=$cmd_dir/../../`uname -p`/Packages resp_dir=$cmd_dir/../../.install/pkgutil/siteconfig_response if [ $# -gt 0 ] then resp_dir=$1 fi if [ ! -d $pkg_dir ] then # this will generate a message meaningful to the locale. cd $pkg_dir exit 1 fi if [ ! -d $resp_dir ] then # this will generate a message meaningful to the locale. cd $resp_dir exit 1 fi clnt_pkgs="SUNWkr5cl SUNWkr5sv" pkgs="$clnt_pkgs SUNWkr5sl SUNWkr5ma" for i in $pkgs ; do if [ ! -d $pkg_dir/$i/install ] then # this will generate a message meaningful to the locale. cd $pkg_dir/$i/install exit 1 fi if [ ! -f $resp_dir/$i ] then # this will generate a message meaningful to the locale. cat < $resp_dir/$i exit 1 fi done for i in $clnt_pkgs ; do # # If client packages aren't installed, then this is bad. # msg=`pkginfo $pkgcmd_opts $i 2>& 1` if [ $? -ne 0 ] then echo $msg exit 1 fi done plist="" # Gather list of packages that we will run postinstall on for i in $pkg_dir/*/install/request ; do t=`dirname $i` postinstall=$t/postinstall if [ ! -f $postinstall ] then cat < $postinstall exit 1 fi t=`dirname $t` pkg=`basename $t` if [ ! -f $resp_dir/$pkg ] then cat < $resp_dir/$pkg exit 1 fi if pkginfo $pkgcmd_opts -q $pkg ; then plist="$plist $pkg" fi done echo $0: '\c' # # Finally ready to run postinstall scripts # for i in $plist ; do echo $i '\c' # Run the response and postinstall scripts in a subshell # since the response script modifies environment ( . $resp_dir/$i PAM_FIX_EDIT=1 INETD_FIX_EDIT=1 . $pkg_dir/$i/install/postinstall ) if [ $? -ne 0 ] then exit $? fi done echo exit 0