#!/bin/zsh # # Script that will analyze, fetch, and download patches on a Solaris # box that has zones on it. # # Quiet on null-expansion setopt NULL_GLOB # Where to extract and install patches from patch_dl_loc=/var/sadm/spool/extracted-patches # Temporary files file=$patch_dl_loc/smanalyze.$$ patch_list=$patch_dl_loc/smpatches.$$ if [ ! -f $file ]; then smpatch analyze > $file fi cut -d ' ' -f 1 $file > $patch_list smpatch download -x idlist=$patch_list if [ ! -d $patch_dl_loc ]; then mkdir $patch_dl_loc fi for i in /var/sadm/spool/*.jar; do (cd $patch_dl_loc; jar xf $i) rm -rf $patch_dl_loc/META-INF done for i in $patch_dl_loc/*/prepatch $patch_dl_loc/*/postpatch $patch_dl_loc/*/prebackout $patch_dl_loc/*/postbackout; do chmod +x $i done patchadd -M $patch_dl_loc `basename $patch_list` rm $file $patch_list