+stage() {
+ # error handling
+ if [ -z "$1" ] ; then
+ eerror 'Error: stage() requires at least one argument.'
+ eend 1
+ return 1
+ fi
+ if [ -z "$STAGES" ] ; then
+ eerror 'Error: $STAGES not set.'
+ eend 1
+ return 1
+ fi
+ # main function
+ if [ -f "$STAGES/$1" ] ; then
+ if grep -q done "$STAGES/$1" ; then
+ ewarn "Notice: stage $1 has been executed already, skipping execution therefore." ; eend 0
+ fi
+ else
+ echo "$2" > "$STAGES/$1"
+ fi
+}
+