#!/bin/bash
set -x
set -e
set -o pipefail
set -u

date

#to destroy
# lxc-stop --name $container
# lxc-destroy --name $container

container=tsfbuild
inner=iuser
locker=/afs/sipb.mit.edu/project/ghc/src/random/tensorflow


#this container location is for mkc
lxc-create -t download -n $container --dir /scratch/kenta/kenta2/$container -- -d ubuntu -r trusty -a amd64
rm -f ~/mylxc.log
lxc-start -n $container -o ~/mylxc.log -d
incontainer="lxc-attach -n $container --"
inlocal="$incontainer sudo -u $inner"
#setting UIDs to match the host does not work
$incontainer useradd -m $inner
#needed for networking to start
sleep 5
tar cf - -C $locker sources.list | $incontainer tar xf - -C /etc/apt
$incontainer apt-get update -q

# gnat-4.8 does not install gnatgcc

if [ -n "${setuponly+x}" ]
then true exiting due to setuponly="$setuponly"
    exit 0
fi

udir=/home/$inner/i

$inlocal mkdir $udir

tar cf - user.sh | $inlocal tar xf - -C $udir

#add-apt-repository
$incontainer apt-get install -q --no-install-recommends -y software-properties-common

$incontainer add-apt-repository -y ppa:webupd8team/java
$incontainer apt-get update
$incontainer apt-get install -q --no-install-recommends -y oracle-java8-installer

tar cf - -C $locker bazel.list | $incontainer tar xf - -C /etc/apt/sources.list.d
curl https://bazel.build/bazel-release.pub.gpg | $incontainer apt-key add -
$incontainer apt-get update
$incontainer apt-get install -q --no-install-recommends -y bazel

nice time $inlocal bash $udir/user.sh
date
true $0 all done
