#!/bin/bash -ex

# this script runs as root under docker

# build and install
yum install -y rpm-build make yum-utils gcc binutils util-linux-ng which
yum install -y openssl-devel libuuid-devel libseccomp-devel e2fsprogs cryptsetup
yum install -y epel-release
yum install -y golang

if [[ "$OS_TYPE" = "centos" ]] && [[ "$OS_VERSION" = "6" ]]; then
    yum install -y nc
elif [[ "$OS_TYPE" = "centos" ]] && [[ "$OS_VERSION" = "7" ]]; then
    yum install -y nmap-ncat iptables
fi

# switch to an unprivileged user with sudo privileges
yum install -y sudo
# We need Git existing here prior to the run
yum install -y git
useradd -u 1000 --create-home -s /bin/bash testuser
echo "Defaults:testuser env_keep=DOCKER_HOST" >>/etc/sudoers
echo "testuser ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
chown -R testuser .

su testuser -c '
  set -x
  set -e
  ./mconfig
  sudo yum-builddep -y singularity.spec
  make -C builddir rpm
  sudo yum install -y $HOME/rpmbuild/RPMS/*/*.rpm
  BLD=`echo $HOME/rpmbuild/BUILD/singularity-*`
  export GOPATH=$BLD/gopath
  PATH=$GOPATH/bin:$PATH

  cd $GOPATH/src/github.com/sylabs/singularity
  make -C builddir test
'
