#!/bin/bash
#
# search for invalid init.d and cron script names
#
TOPDIR=/usr/src/packages
test -d $BUILD_ROOT/.build.packages && TOPDIR=/.build.packages

export INVALID_FILE_FOUND=false

INITD_DATA=$BUILD_ROOT/usr/lib/build/checks-data/initd.txt
CRON_DATA=$BUILD_ROOT/usr/lib/build/checks-data/cron.txt


ALL_RPMS=`find $BUILD_ROOT$TOPDIR/RPMS -name "*.rpm"`

if [ ! -z "$ALL_RPMS" ] ; then

  for RPM in $ALL_RPMS; do
    RPM_NAME=`rpm -qp --qf "%{NAME}" $RPM`
    ALL_RPM_LINES=`rpm -qpl $RPM | sed -e "s@ @_@g"`
    for LINE in $ALL_RPM_LINES; do
      case "$LINE" in
          /etc/init.d/*)
	    SCRIPTNAME=`basename $LINE`
            case "$SCRIPTNAME" in
              suse*|\
              novell*)
              ;;
            *)
              grep ^"$SCRIPTNAME " $INITD_DATA > /dev/null
              if [ $? -eq 1 ]; then
                 echo $RPM_NAME: Name of init script \""$SCRIPTNAME"\" is not LSB conform
                 #INVALID_FILE_FOUND=true
              fi
	      ;;
              esac
          ;;

	  /etc/cron.d/*|\
	  /etc/cron.daily/*|\
	  /etc/cron.hourly/*|\
	  /etc/cron.monthly/*|\
	  /etc/cron.weekly/*)
	    SCRIPTNAME=`basename $LINE`
            case "$SCRIPTNAME" in
	      suse*|\
	      novell*)
	      ;;
	    *)
              grep ^"$SCRIPTNAME\$" $CRON_DATA > /dev/null
              if [ $? -eq 1 ]; then
                 echo $RPM_NAME: Name of cron script \""$SCRIPTNAME"\" is not LSB conform
                 #INVALID_FILE_FOUND=true
              fi
            ;;
            esac
          ;;

          *)
          ;;
        esac
    done
  done
fi

test $INVALID_FILE_FOUND = true && exit 1

exit 0
