#!/bin/sh -e

BRANCH=sisyphus
TASKFS_MOUNT_POINT=/tasks

! [ -e $HOME/.config/repocop-tasktest.conf ] || . $HOME/.config/repocop-tasktest.conf

REPOCOP_TASKREPORT_DIR=${REPOCOP_TASKREPORT_DIR:-/var/ftp/pub/repocop/$BRANCH-tasktest/tasks}

if [ -z "$TASKFS_MOUNT_POINT" ] || ! [ -d "$TASKFS_MOUNT_POINT" ]; then
    echo "Fatal: TASK FS not found at $TASKFS_MOUNT_POINT"
    exit 1
fi

if [ -z "$REPOCOP_TASKREPORT_DIR" ] || ! [ -d "$REPOCOP_TASKREPORT_DIR" ]; then
    echo "Fatal: REPOCOP_TASKREPORT_DIR not found at $REPOCOP_TASKREPORT_DIR"
    exit 1
fi

if ! stat -t ${REPOCOP_TASKREPORT_DIR}/[0-9]* >/dev/null 2>&1; then
    #echo "${REPOCOP_TASKREPORT_DIR} is empty. Nothing to clean."
    exit 0
fi

for reportpath in ${REPOCOP_TASKREPORT_DIR}/[0-9]* ; do
    taskid=`basename $reportpath`
    if ! [ -d "$TASKFS_MOUNT_POINT"/$taskid ]; then
	rm -rf "$reportpath"
	echo "cleaned: $taskid"
    else
	TASKTRY=`cat "$TASKFS_MOUNT_POINT"/$taskid/task/try`
	for reporttrypath in $reportpath/[0-9]* ; do
	    try=`basename $reporttrypath`
	    if [ -n "$TASKTRY" ] && [ "$try" != "$TASKTRY" ]; then
		rm -rf "$reporttrypath"
		echo "cleaned: $taskid TRY $try"
	    fi
	done
    fi
done
