Package rujel: Scripts

Post install

cd /usr/share/java/webobjects/Local/Library/WebObjects/Applications
for f in *.woa; do
  if [ -d $f/Contents/WebServerResources ] ; then
    mkdir -p /usr/share/java/webobjects/Local/Library/WebServer/Documents/WebObjects/$f/Contents/
    ln -fns /usr/share/java/webobjects/Local/Library/WebObjects/Applications/$f/Contents/WebServerResources /usr/share/java/webobjects/Local/Library/WebServer/Documents/WebObjects/$f/Contents/WebServerResources
  fi
done

cd /usr/share/java/webobjects/Local/Library/Frameworks
for f in *.framework; do
  if [ -d $f/WebServerResources ] ; then
    mkdir -p /usr/share/java/webobjects/Local/Library/WebServer/Documents/WebObjects/Frameworks/$f
    ln -fns  /usr/share/java/webobjects/Local/Library/Frameworks/$f/WebServerResources /usr/share/java/webobjects/Local/Library/WebServer/Documents/WebObjects/Frameworks/$f/WebServerResources
  fi
done

ln -fns /usr/share/java/junixsocket/junixsocket.jar /usr/share/java/webobjects/Local/Library/WebObjects/Extensions/
ln -fns /usr/share/java/junixsocket/junixsocket-mysql.jar /usr/share/java/webobjects/Local/Library/WebObjects/Extensions/

if [ "$1" = 1 ] ; then
  grep -iq "rujel" /etc/webobjects/SiteConfig.xml > /dev/null 2>&1 ||
    install -b -pD -m 640 --owner=_appserver --group=_appserveradm /usr/share/rujel/SiteConfig.xml /etc/webobjects/

  if [ ! -e /etc/webobjects/rujel/rujel.plist ] ; then
    cp /etc/webobjects/RUJELsetup/required/* /etc/webobjects/rujel/modules/
    cp /etc/webobjects/RUJELsetup/recommended/* /etc/webobjects/rujel/modules/
    cp /etc/webobjects/RUJELsetup/dbpresets/MySQL_junixsocket.plist /etc/webobjects/rujel/modules/database.plist
    chown -R _appserver:_appserveradm /etc/webobjects/rujel/modules/
    mv /etc/webobjects/rujel/modules/rujel.plist /etc/webobjects/rujel/
  fi
  /usr/sbin/post_service wotaskd
  /usr/sbin/post_service womonitor
fi

if ! grep -iq "rujel" /etc/crontab ; then
  echo >> /etc/crontab
  echo "## backup Rujel databases" >> /etc/crontab
  echo "05 5 1 * * _appserver /usr/share/rujel/backupCron.sh all" >> /etc/crontab
  echo "05 5 2-31 * * _appserver /usr/share/rujel/backupCron.sh day" >> /etc/crontab
  echo "03 5 * * 0 _appserver /usr/share/rujel/backupCron.sh week" >> /etc/crontab
  /usr/sbin/post_service crond
fi

#/usr/share/rujel/backupCron.sh all
Pre install

if [ "$1" != 1 ] ; then
  if [ -e /usr/share/rujel/previous_versions ] ; then
  	mkdir -p /var/lib/rujel
  	mv /usr/share/rujel/previous_versions /var/lib/rujel/
  fi

  for f in PListWOEditor Rujel RujelDiary
  do
    if [ -d /usr/share/java/webobjects/Local/Library/WebObjects/Applications/$f.woa ] ; then
      mkdir -p /var/lib/rujel/previous_versions/`date +%F_%H%M`/
      mv /usr/share/java/webobjects/Local/Library/WebObjects/Applications/$f.woa /var/lib/rujel/previous_versions/`date +%F_%H%M`/
      echo "mv -f /usr/share/java/webobjects/Local/Library/WebObjects/Applications/$f.woa previous/" >> /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.tmp
      echo "cp -r $f.woa /usr/share/java/webobjects/Local/Library/WebObjects/Applications/" >> /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.tmp
    fi
  done
  for f in Authentication Reusables RujelArchiving RujelAutoItog RujelBase RujelComplete RujelContacts RujelCriterial RujelCurriculum RujelEduPlan RujelEduResults RujelEmail RujelInterfaces RujelReports RujelSchedule RujelStats RujelUsers RujelVseLists
  do
    if [ -d /usr/share/java/webobjects/Local/Library/Frameworks/$f.framework ] ; then
      mkdir -p /var/lib/rujel/previous_versions/`date +%F_%H%M`/Frameworks/
      mv /usr/share/java/webobjects/Local/Library/Frameworks/$f.framework /var/lib/rujel/previous_versions/`date +%F_%H%M`/Frameworks/
      echo "mv -f /usr/share/java/webobjects/Local/Library/Frameworks/$f.framework previous/Frameworks/" >> /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.tmp
      echo "cp -r Frameworks/$f.framework /usr/share/java/webobjects/Local/Library/Frameworks/" >> /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.tmp
    fi
  done
  if [ -e /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.tmp ] ; then
    echo "#!/bin/sh" > /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.sh
    echo "mkdir  -p previous/Frameworks" >> /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.sh
    cat /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.tmp >> /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.sh
    rm -f /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.tmp
    chmod 755 /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.sh
    echo "mv restore.sh previous/" >> /var/lib/rujel/previous_versions/`date +%F_%H%M`/restore.sh
  fi
  tar -cj -f "/var/lib/rujel/previous_versions/`date +%F_%H%M`/RujelConfig_`date +%F`.tar.bz2" -C /etc/webobjects rujel
fi
Pre uninstall

if [ "$1" = 0 ] ; then
  rm -rf /usr/share/rujel/previous_versions

  for f in PListWOEditor Rujel RujelDiary
  do
    if [ -d /usr/share/java/webobjects/Local/Library/WebServer/Documents/WebObjects/$f.woa ] ; then
      rm -rf /usr/share/java/webobjects/Local/Library/WebServer/Documents/WebObjects/$f.woa
    fi
  done
  for f in Authentication Reusables RujelArchiving RujelAutoItog RujelBase RujelComplete RujelContacts RujelCriterial RujelCurriculum RujelEduPlan RujelEduResults RujelEmail RujelInterfaces RujelReports RujelSchedule RujelStats RujelUsers RujelVseLists
  do
    if [ -d /usr/share/java/webobjects/Local/Library/WebServer/Documents/WebObjects/Frameworks/$f.framework ] ; then
     rm -rf /usr/share/java/webobjects/Local/Library/WebServer/Documents/WebObjects/Frameworks/$f.framework
    fi
  done
fi