#!/bin/bash
#
# Start up chkconfig services
#

TYPE=service 
. `dirname $0`/xsync_functions
xsync_setup $*

CHKCONFIG=/sbin/chkconfig
SERVICE=/etc/init.d

for i in $DIR/$ME.d/*; do
  i=`basename $i`
  # Test for conflicts
  xsync_conflicts $i
  # Test for bogosities
  CHK_OUTPUT=`$CHKCONFIG --list $i 2>&1`
  if [[ "$CHK_OUTPUT" == *does\ not\ support\ chkconfig ]]; then
    # Skip services that don't support chkconfig
    test $VERBOSE && echo "INFO: service $i does not support chkconfig, skipping"
    continue
  elif [[ "$CHK_OUTPUT" == *chkconfig\ --add* ]]; then
    $CHKCONFIG --add $i
  elif [[ "$CHK_OUTPUT" != $i* ]]; then 
    test $QUIET || echo "WARNING: invalid chkconfig service $i in $DIR/$ME.d"
    continue
  fi
  # Turn on service
  CMD1="$CHKCONFIG $i on"
  CMD2="$SERVICE/$i start"
  # Run CMD1 if service is chkconfigured off
  $CHKCONFIG $i || xsync_echo_do $CMD1
  # Run CMD2 if service is stopped (status returns 0 or is 'stopped')
  status_str=`$SERVICE/$i status`
  status1=$?
  echo $status_str | egrep -q '(stopped|disabled)'
  status2=$?
  if [ $status1 -ne 0 -o $status2 -eq 0 ]; then
    xsync_echo_do $CMD2
  fi
done

