blob: 6d1e335d7a39540a58643a93c642eb9a6008edce [file] [log] [blame]
#!/bin/sh
echo "Using ssh-nightly-slave settings from $HOME/.corpus"
. $HOME/.corpus
host="$1"
host=`echo "$1" | perl -ne 's/:-j(\S+)$//;print'`
opts=`echo "$1" | perl -ne 's/:-j(\S+)$// and print "-j $1"'`
# use $PERL from env if unset
[ "x${PERL:-}" = x ] && PERL=perl
set -x
set -e
tar=tar
[ -x /usr/sfw/bin/gtar ] && tar=/usr/sfw/bin/gtar
cd $tree
$tar cfz $tmp/tf \
--exclude="*.log" \
--exclude=".svn" \
--exclude="tmp" \
.
[ "$clienttree" = "" ] && clienttree=tree
# a rather rough-and-ready way to ensure any hangover mass-checks
# from the previous set are killed, before we start these ones;
# ||true ensures we carry on even if this fails
ssh $host \
killall perl || true
ssh $host \
rm -rf $clienttree/code \; \
mkdir -p $clienttree/code \; \
cd $clienttree/code \; \
tar xfz - < $tmp/tf
# source /etc/profile to get a full $PATH, including /usr/local/bin
# (some hosts need to use /usr/local/bin/perl instead of /usr/bin/perl).
# rebuild to compile the blib modules for this platform.
ssh $host \
cd $clienttree/code \; \
. /etc/profile \; \
perl Makefile.PL \; \
make clean \; \
perl Makefile.PL \; \
make < /dev/null > $tmp/remote_build.$host.log
# use a cs_cache in $clienttree/cs_cache -- this is not removed
# with the above "rm -rf" command
ssh -f $host \
cd $clienttree/code/masses \; \
. /etc/profile \; \
TZ=UTC perl mass-check \
--cs_ssl --cs_verbose --cs_schedule_cache --cs_cachedir=../../cs_cache \
$opts \
--client $serverhost &