1#! /bin/sh
2
3set -e
4
5if test -z "$BUILD_HAVE_SOURCES"; then
6  echo -n "Building source code distribution..."
7  ./utils/build-sources.sh > /dev/null
8  echo "OK"
9fi
10
11if test -z "$*"; then
12  for f in tests/build-hosts/*; do
13    if test -f $f; then
14      hosts="$hosts `basename $f`"
15    fi
16  done
17else
18  hosts="$*"
19fi
20
21for hostfile in $hosts; do
22  (
23  . tests/build-hosts/$hostfile
24  pkg=`ls dist/tre-*.tar.gz`
25  pkg=`basename $pkg`
26  dir=`basename $pkg .tar.gz`
27  if test -z "$scp_host"; then
28    echo foo
29    scp_host="$host"
30  fi
31
32  cat tests/build-hosts/$hostfile > $hostfile.tmp
33  echo "pkg=$pkg" >> $hostfile.tmp
34  echo "dir=$dir" >> $hostfile.tmp
35  chmod +x $hostfile.tmp
36
37  echo "Copying files to $scp_host..."
38  scp dist/$pkg tests/build-run.sh $scp_host:build-tmp
39  scp $hostfile.tmp $scp_host:build-tmp/build-params.sh
40  rm -f $hostfile.tmp
41  echo "Starting job on $host..."
42  ( ssh $host "cd build-tmp; ./build-run.sh";
43    if test $? -ne 0; then
44      echo "$host: FAILED:"
45      exit 1
46    fi )
47  ) &
48done
49wait
50