Index: sopatchlevel.sh =================================================================== RCS file: /cvs/oo/installation/setup2/script/sopatchlevel.sh,v retrieving revision 1.4 diff -u -B -r1.4 sopatchlevel.sh --- sopatchlevel.sh 2001/11/05 10:30:59 1.4 +++ sopatchlevel.sh 2002/08/06 17:35:21 @@ -71,52 +71,46 @@ sd_hardware=`uname -p` sd_release=`uname -r` - required_patch= + required_patches= case $sd_hardware in i386) case $sd_release in 5.6) - required_patch=104678 - required_minor=7 - ;; + required_patches="SUNWlibC 104678-07" + ;; 5.7) - required_patch=106328 - required_minor=8 + required_patches="SUNWlibC 106328-08" ;; - 5.8) - required_patch=108436 - required_minor=1 - ;; + 5.8) + required_patches="SUNWlibC 108436-01 SUNWxwplt 108653-46 SUNWxi18n opt 108774-12" + ;; esac ;; sparc) case $sd_release in 5.6) - required_patch=105591 - required_minor=9 - ;; - 5.7) - required_patch=106327 - required_minor=8 - ;; - 5.8) - required_patch=108434 - required_minor=1 - ;; + required_patches="SUNWlibC 105591-09" + ;; + 5.7) + required_patches="SUNWlibC 106327-08 SUNWlibCx opt 106300-09" + ;; + 5.8) + required_patches="SUNWlibC 108434-01 SUNWlibCx opt 108435-01 SUNWxwplt 108652-56 SUNWxi18n opt 108773-12" + ;; esac esac if [ "$ignore_patch_check" != "" ]; then echo WARNING! overriding patch check! - required_patch= + required_patches= fi # # if no patch is required we are done # - if [ "$required_patch" = "" ]; then + if [ "$required_patches" = "" ]; then exit 0 fi @@ -124,46 +118,78 @@ # check prerequesites # - if [ ! -x /usr/bin/awk ]; then + if [ ! -x /usr/bin/nawk ]; then exit 0 fi # # check installed patches # - patch_installed=`"$sd_inst"/sorev -l SUNWlibC | /usr/bin/awk \ - '{ \ - if ($1 == "Patch:") { \ - split($2, inst_patch, "-"); \ - if (inst_patch[1] == required_patch) { \ - if ((inst_patch[2]+1) >= (1+required_minor)){ \ - print "done"; exit 0; \ - } \ - } \ - } \ - if ($3 == "Obsoletes:") { \ - split($4, inst_patch, "-"); \ - if (inst_patch[1] == required_patch) { \ - if ((inst_patch[2]+1) >= (1+required_minor)){ \ - print "done"; exit 0; \ - } \ - } \ - } \ - }' required_patch=$required_patch required_minor=$required_minor ` + set -- $required_patches - if [ "$patch_installed" = "done" ]; then - exit 0 - else - case $sd_hardware in - i386) - echo "Operating system update required. Please install the following patches. Solaris 7: 106328-08; Solaris 8: 108436-01, 108774-12" - ;; - sparc) - echo "Operating system update required. Please install the following patches. Solaris 7: 106327-08, 106300-09 (64 bit only); Solaris 8: 108434-01, 108773-12, 108435-01 (64 bit only)" + while [ $# -ge 2 ]; do + + package=$1 + if [ "$2" = opt ]; then + package_optional=YES + patch=$3 + shift 3 + else + package_optional=NO + patch=$2 + shift 2 + fi + + if [ $package_optional = YES -a ! -d /var/sadm/pkg/$package ]; then + # + # An optional package, that is not installed at all. + # No need to check installed patches for this package. + # + continue + fi + + patch_installed=`"$sd_inst"/sorev -l $package | /usr/bin/nawk -v patch=$patch \ + 'BEGIN { + split(patch, tmp, "-"); + required_patch=tmp[1]; + required_minor=tmp[2]; + } + + { + if ($1 == "Patch:") { + split($2, inst_patch, "-"); + if (inst_patch[1] == required_patch) { + if ((inst_patch[2]+1) >= (1+required_minor)){ + print "done"; exit 0; + } + } + } + if ($3 == "Obsoletes:") { + split($4, inst_patch, "-"); + if (inst_patch[1] == required_patch) { + if ((inst_patch[2]+1) >= (1+required_minor)){ + print "done"; exit 0; + } + } + } + }'` + + if [ "$patch_installed" != "done" ]; then + echo "Required patch $patch (or newer) for package $package is not installed" + + case $sd_hardware in + i386) + echo "Operating system update required. Please install the following patches. Solaris 7: 106328-08; Solaris 8: 108436-01, 108774-12, 108653-46" ;; - esac - exit 1 - fi + sparc) + echo "Operating system update required. Please install the following patches. Solaris 7: 106327-08, 106300-09 (64 bit only); Solaris 8: 108434-01, 108773-12, 108652-56, 108435-01 (64 bit only)" + ;; + esac + exit 1 + fi + done + + exit 0 fi exit 0 Index: readme.html =================================================================== RCS file: /cvs/oo/installation/readlicense/source/readme/readme.html,v retrieving revision 1.1.6.2 diff -u -B -r1.1.6.2 readme.html --- readme.html 2002/04/26 17:19:32 1.1.6.2 +++ readme.html 2002/08/06 16:48:44 @@ -90,7 +90,7 @@

@@ -119,7 +119,7 @@

The versions mentioned above are the minimum requirements, newer (higher) version numbers are also allowed. Index: unxsoli3/README =================================================================== RCS file: /cvs/oo/installation/readlicense/source/readme/unxsoli3/README,v retrieving revision 1.1.16.1 diff -u -B -r1.1.16.1 README --- unxsoli3/README 2002/04/26 17:08:43 1.1.16.1 +++ unxsoli3/README 2002/08/06 16:48:44 @@ -82,7 +82,7 @@ Operating system patches required: * for Solaris 7: 106327-08, 106300-09 (only 64 bit) -* for Solaris 8: 108434-01, 108773-12, 108435-01 (only 64 bit) +* for Solaris 8: 108434-01, 108652-56, 108773-12, 108435-01 (only 64 bit) The versions mentioned above are the minimum requirements, newer (higher) version numbers are also allowed. @@ -100,7 +100,7 @@ Operating system patches required: * for Solaris 7: 106328-08 -* for Solaris 8: 108436-01, 108774-12 +* for Solaris 8: 108436-01, 108653-46, 108774-12 The versions mentioned above are the minimum requirements, newer (higher) version numbers are also allowed. Index: unxsols3/README =================================================================== RCS file: /cvs/oo/installation/readlicense/source/readme/unxsols3/README,v retrieving revision 1.1.16.1 diff -u -B -r1.1.16.1 README --- unxsols3/README 2002/04/26 17:08:26 1.1.16.1 +++ unxsols3/README 2002/08/06 16:48:44 @@ -82,7 +82,7 @@ Operating system patches required: * for Solaris 7: 106327-08, 106300-09 (only 64 bit) -* for Solaris 8: 108434-01, 108773-12, 108435-01 (only 64 bit) +* for Solaris 8: 108434-01, 108652-56, 108773-12, 108435-01 (only 64 bit) The versions mentioned above are the minimum requirements, newer (higher) version numbers are also allowed. @@ -100,7 +100,7 @@ Operating system patches required: * for Solaris 7: 106328-08 -* for Solaris 8: 108436-01, 108774-12 +* for Solaris 8: 108436-01, 108653-46, 108774-12 The versions mentioned above are the minimum requirements, newer (higher) version numbers are also allowed.