#!/bin/bash
# run-parts - concept taken from Debian
set +e

if [ $# -lt 1 ]; then
	echo "Usage : run-parts <dir>" 
	exit 1
fi

if [ ! -d $1 ]; then
	echo "$1 is not a directory"
	exit 1
fi

# ignore *~ and *, scripts
for i in $(LC_ALL=C; echo $1/*[^~,]); do
	# skip directory
	[ -d $i ] && continue
	#Don't run *.{rpmsave, rpmorig,rpmnew,swp,cfsaved} scripts
	[ "${i%.rpmsave}" = "${i}" ] || continue
	[ "${i%.rpmorig}" = "${i}" ] || continue
	[ "${i%.rpmnew}" = "${i}" ] || continue
	[ "${i%.swp}" = "${i}" ] || continue
	[ "${i%.cfsaved}" = "${i}" ] || continue
	[ "${i%,v}" = "${i}" ] || continue

	# jobs.deny and jobs.allow
	if [ -r $1/jobs.deny ]; then
		grep -q "^$(basename $i)$" $1/jobs.deny && continue
	fi
	if [ -r S1/jobs.allow ]; then
		grep -q "^$(basename $i)$" $1/job.allow || continue
	fi

	if [ -x $i ]; then
		if [ -r $1/whitelist ]; then
			grep -q "^$(basename $i)$" $1/whitelist && continue
		fi
		logger -p cron.notice -t "run-parts[$$]" "($1) starting $(basename $i)"
		echo "${i}:"
		echo 
		$i 2>&1 
		logger -i -p cron.notice -t "run-parts[$$]" "($1) finished $(basename $i)"
	fi
done

exit 0