#!/bin/sh

set -e

SCRIPTS=/usr/share/ubuntu/scripts
LOGFILE=/var/log/installer/$(basename $0).log
COMMAND=
STAGE=
PARAMS=

die()
{
    [ -n "$@" ] && echo $@
    exit 1
}

case $1 in
   ubiquity)   COMMAND=ubiquity.d ;;
   oem-config) COMMAND=oem-config.d ;;
   partman)    COMMAND=partman.d ;;
   *) die 'error command: $1' ;;
esac

case $2 in
   early|late) STAGE=$2 ;;
   success|failure) [ "$1" = "ubiquity" ] && STAGE=$2 ;;
   *) die 'error argument: $2' ;;
esac

#prepare arguments
for _p in $(echo $@ | cut -d' ' -f3-); do
    PARAMS=$(echo $PARAMS --arg=$_p)
done

[ ! -d /var/log/installer ] && mkdir -p /var/log/installer

exec >> "$LOGFILE" 2>&1

if [ -d "$SCRIPTS/$COMMAND/$STAGE" ]; then
   echo "+++ Run hook scripts in $SCRIPTS/$COMMAND/$STAGE:"
   run-parts --report $SCRIPTS/$COMMAND/$STAGE $PARAMS || true
else
   die "+++ Missing path or directory: $SCRIPTS/$COMMAND/$STAGE"
fi
