#!/bin/sh

. gconfig

TUSER=${DISTRO:-ubuntu}

usage() {
  echo "Usage: ${0##*/} [OPTION]... <command>"
  echo "Run command on build target."
  echo
  cat << EOF
  --help		display this help and exit
  --user|-u <username>	run as <username> instead of ubuntu
  --env|-e "NAME=VALUE ..."	modify the environment
EOF
}

if [ $# != 0 ] ; then
  while true ; do
    case "$1" in
      --help|-h)
        usage
        exit 0
        ;;
      --user|-u)
        TUSER="$2"
        shift 2
        ;;
      --env|-e)
        ENV="$2"
        shift 2
        ;;
      --*)
        echo "unrecognized option $1"
        exit 1
        ;;
      *)
        break
        ;;
    esac
  done
fi

#if [ $# = 0 ] ; then
#  usage
#  exit 1
#fi

if [ -n "$USE_DOCKER" ]; then
    docker exec -u $TUSER -i gitian-target $*
elif [ -z "$USE_LXC" ]; then
    ssh -oConnectTimeout=30 -oNoHostAuthenticationForLocalhost=yes -i ${GITIAN_BASE:-.}/var/id_rsa -p $VM_SSH_PORT $TUSER@localhost $*
else
    config-lxc
    sudo $LXC_EXECUTE -n gitian -f var/lxc.config -- sudo -u $TUSER $ENV -i -- $*
fi
