#!/bin/bash
echo ok > $REPOCOP_TEST_TMPDIR/status
rm -f $REPOCOP_TEST_TMPDIR/message
if grep '^'$REPOCOP_PKG_NAME'$' /usr/share/repocop/pkgtests/checkbashisms/whitelist >/dev/null; then
    exec repocop-test-ok
fi

FAIL_STATUS=experimental
shabangbinshpath=`dirname $0`
shabangbinsh=${shabangbinshpath}/shabangbinsh
findpath=
for fdir in bin sbin usr/bin usr/sbin etc/rc.d/init.d usr/share/repocop; do
[ -d "$REPOCOP_PKG_ROOT/$fdir" ] && findpath="$findpath $REPOCOP_PKG_ROOT/$fdir"
done
[ -z "$findpath" ] && exec repocop-test-ok
find $findpath -type f -print  | \
while read file; do
    if [ -e "$file" ] && cmp -n 9 $shabangbinsh "$file" > /dev/null && \
    [[ `file "$file"` == *'Bourne shell script text executable'* ]]; then
        TODO_MSG=`checkbashisms "$file" 2>&1`
        if [ $? -eq 1 ]; then
	    [ -e $REPOCOP_TEST_TMPDIR/message ] || echo -n "checkbashisms utility found possible bashisms in:" > $REPOCOP_TEST_TMPDIR/message
	    echo $FAIL_STATUS > $REPOCOP_TEST_TMPDIR/status
	    echo -n " ${file##$REPOCOP_PKG_ROOT}" >> $REPOCOP_TEST_TMPDIR/message
	fi
    fi
done
[ -e $REPOCOP_TEST_TMPDIR/message ] && \
exec repocop-test-`cat $REPOCOP_TEST_TMPDIR/status` `cat $REPOCOP_TEST_TMPDIR/message` || \
exec repocop-test-`cat $REPOCOP_TEST_TMPDIR/status`
