#!/bin/bash
#< Show dates that Solaris patches were installed
ECHO="/usr/bin/echo"
PKGPARAM="/usr/bin/pkgparam"
SED="/usr/bin/sed"
SHOWREV="/usr/bin/showrev"
SORT="/usr/bin/sort"
${SHOWREV} -p | ${SORT} -k2,2 | while read line; do
PATCHID=$( ${ECHO} "${line}" |\
${SED} 's/^Patch: \([0-9]\{6\}-[0-9]\{2\}\) .*$/\1/' )
# Only need to grab the first package name, even if patch
# has been installed to multiple packages - there will only be
# a second or two difference between each pacakge
PACKAGE=$( ${ECHO} "${line}" |\
${SED} 's/^.*Packages: \([^,]*\).*$/\1/' )
INSTALLED=$( ${PKGPARAM} ${PACKAGE} PATCH_INFO_${PATCHID} |\
${SED} 's/^Installed: \(.*\) From:.*$/\1/' )
echo "${PATCHID}: ${INSTALLED}"
done
exit 0