#!/bin/sh

#
# JDS clean up for packages with non-standard package version strings
# Note: Any pkg using SUNWjdsrm to remove a previous version, 
#	Must add SUNWjdsrm to it's package depend file to ensure the
#	removal of the previous version before the addition of the
#	new version.
#
PKG="SUNWglow SUNWjai-imageio SUNWjmf SUNWjmfmp3 SUNWjdsver SUNWjpeg SUNWjpegx SUNWtiff SUNWtiffx"
cat > /tmp/admin.dflt.$$ << EOF
mail=
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
rdepend=nocheck
space=nocheck
setuid=nocheck
conflict=nocheck
action=nocheck
basedir=default
EOF

REM_SCRIPT=/tmp/pkgremoval.$PKGINST.$$
echo "PATH=/usr/sadm/bin:$PATH" > $REM_SCRIPT
do_pkgrm() {
  echo "sleep 3" >> $REM_SCRIPT
  echo "echo Now removing old instance of $1" >> $REM_SCRIPT
  eval echo `gettext SUNW_INSTALL_LIBSVC 'Removing package $1:'`
  if [ -n "${PKG_INSTALL_ROOT}" ]; then
    if [ -f ${PKG_INSTALL_ROOT}/var/sadm/pkg/$i/install/preremove ]; then
      sed -e 's: /usr: ${PKG_INSTALL_ROOT}/usr:' ${PKG_INSTALL_ROOT}/var/sadm/pkg/$i/install/preremove > /tmp/$i.pkgremove.$$
      cp /tmp/$i.pkgremove.$$ ${PKG_INSTALL_ROOT}/var/sadm/pkg/$i/install/preremove
      rm /tmp/$i.pkgremove.$$
    fi
    echo "pkgrm -M -R ${PKG_INSTALL_ROOT} -a /tmp/admin.dflt.$$ -n $1" >> $REM_SCRIPT
  else
    echo "pkgrm -M -a /tmp/admin.dflt.$$ -n $1" >> $REM_SCRIPT
  fi
}

for i in $PKG
do
  if [ -n "${PKG_INSTALL_ROOT}" ]; then
    (pkgparam -R ${PKG_INSTALL_ROOT} $i VERSION | egrep -v  '^[0-9.]+$|^[0-9.]+,REV=[0-9.]+$') > /dev/null 2>&1
  else
    (pkgparam  $i VERSION | egrep -v  '^[0-9.]+$|^[0-9.]+,REV=[0-9.]+$') > /dev/null 2>&1
  fi
  exist=$?
  if [ $exist -eq 0 ] ; then
    do_pkgrm $i
  fi
done

if [ -f $REM_SCRIPT ]; then
  sh $REM_SCRIPT &
fi

exit 0


