Created
January 28, 2015 03:44
-
-
Save ghprince/daff4b7d8830118b577d to your computer and use it in GitHub Desktop.
TIE package upgrade in Solaris 10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/opt/csw/bin/bash | |
#requires bash 4+ | |
#TIEfile format must be "<PKGNAME> <VERSION>" in each line, e.g. | |
#SUNWt1tsk 4.33 | |
#SUNWt1ato 2.7 | |
#SUNWtuact 1.10 | |
usage() { | |
echo "Usage : $0 <TIEfile>" 1>&2 | |
exit 1 | |
} | |
function error() { | |
echo -e "ERROR : $*" | |
} | |
function info() { | |
echo -e "INFO : $*" | |
} | |
fileName=$1; | |
if [[ ! ${fileName} ]]; then | |
error "TIEfile is required" | |
usage | |
fi | |
noAskFileName="NOASKFILE" | |
echoallFileName="ECHOALLFILE" | |
rm ${noAskFileName} 2>/dev/null | |
rm ${echoallFileName} 2>/dev/null | |
echo "mail= | |
instance=overwrite | |
partial=nocheck | |
runlevel=nocheck | |
idepend=nocheck | |
rdepend=nocheck | |
space=nocheck | |
setuid=nocheck | |
conflict=nocheck | |
action=nocheck | |
basedir=default" > ${noAskFileName} | |
echo "all" > ${echoallFileName} | |
while read line; do | |
if [[ $line =~ ^([_[:alpha:]][_[:alnum:]]*)" "(.*) ]]; then | |
pkgName=${BASH_REMATCH[1]} | |
PKGNAME=${pkgName^^} | |
pkgVersion=${BASH_REMATCH[2]} | |
currentVer=$(pkginfo -l ${pkgName} 2>/dev/null | grep VERSION | tr -s ' ' | cut -d' ' -f3) | |
info "Checking ${pkgName}" | |
info "Found ver: ${currentVer}, required ver: ${pkgVersion}" | |
if [[ ${currentVer} != ${pkgVersion} ]]; then | |
info "Trying to install ${pkgName}-${pkgVersion}" | |
pkgadd -a ${noAskFileName} -d http://te-ci-dev.us.oracle.com:8080/jenkins/job/rms/view/All/job/upload/ws/RMS/T${PKGNAME:5:1}/${pkgName}/${pkgName}-${pkgVersion} < ${echoallFileName} | |
fi | |
fi | |
done < ${fileName} | |
rm ${noAskFileName} 2>/dev/null | |
rm ${echoallFileName} 2>/dev/null |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment