#!/bin/sh
# Copyright (C) 2001 NEC Corporation
# All Rights Reserved.
#
#    /etc/rc0.d/K00a - Express5800/MW Online Update Package Install Script
#
#    1. run all executable pre files in $dir and logging /var/log/wbmc_olud/<logfile>.
#    2. remove the files.
#    3. install all rpm packages in $dir and logging /var/log/wbmc_olud/<logfile>.
#    4. remove the rpm files.
#    5. run all executable post files in $dir and logging /var/log/wbmc_olud/<logfile>.
#    6. remove the files.
#
# chkconfig: - 99 00
# description: Express5800/MW Online Update Package Install Script
#

dir="/var/opt/nec/wbmc/olud/onshutdown"
logdir="/var/log/wbmc_olud"
lastsh="last.sh"

logf="$logdir/log`date '+%Y%m%d%H%M'`.$$"

start() {
  return 0
}

stop() {

  if [ ! -e "$dir" -o ! -d "$dir" ]; then
#   mkdir -p $logdir
#   echo "["`(export LANG=C; export LC_ALL=C; date)`"]: not found $dir" >> $logf
    return 0
  fi

  if cd $dir ; then
    for pre in *.pre.sh ; do
      if [ $pre != "*.pre.sh" ]; then
        if [ -x "$pre" -a ! -d "$pre" ]; then
          mkdir -p $logdir
          echo "["`(export LANG=C; export LC_ALL=C; date)`"]: execute $pre" >> $logf

          ./$pre >> $logf 2>&1
          /bin/rm -f $pre
        fi
      fi
    done

    rpms=
    for f in *.rpm ; do
      if [ $f != "*.rpm" ]; then
        mkdir -p $logdir
        echo "["`(export LANG=C; export LC_ALL=C; date)`"]: install $f" >> $logf
        md5=`md5sum $f`
        echo "["`(export LANG=C; export LC_ALL=C; date)`"]: md5sum $md5" >> $logf

        rpms="$rpms $f"
      fi
    done

    if [ "$rpms" != "" ]; then
      echo "["`(export LNAG=C; export LC_ALL=C; date)`"]: exec /bin/rpm -U --nodeps --force $rpms" >> $logf

      /bin/rpm -U --nodeps --force $rpms >> $logf 2>&1
      /bin/rm -f $rpms
    fi

    for post in *.post.sh ; do
      if [ $post != "*.post.sh" ]; then
        if [ -x "$post" -a ! -d "$post" ]; then
          mkdir -p $logdir
          echo "["`(export LANG=C; export LC_ALL=C; date)`"]: execute $post" >> $logf

          ./$post >> $logf 2>&1
          /bin/rm -f $post
        fi
      fi
    done

    if [ -e "$lastsh" -a -x "$lastsh" -a ! -d "$lastsh" ]; then
      mkdir -p $logdir
      echo "["`(export LANG=C; export LC_ALL=C; date)`"]: execute $lastsh" >> $logf

      ./$lastsh >> $logf 2>&1
      /bin/rm -f $lastsh
    fi
  fi

  /bin/rm -rf $dir/*

  return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  *)
        stop
        ;;
esac

exit 0

