"failstar" sounds like a name for a cruise liner from the 80s. As "*" isn't a desirable part of directory names, just name the whole thing "fail/", the core parts being stored in "fail/core/". Additionally fixing two build system dependency issues: - missing jobserver -> protomessages dependency - broken bochs -> fail dependency (add_custom_target DEPENDS only allows plain file dependencies ... cmake for the win) git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# distribute-experiment.sh [path/to/experiment-target]
|
|
# Distribute necessary FailBochs ingredients for experiment target to
|
|
# FAIL_DISTRIBUTE_HOSTS. Defaults to an experiment target in the current
|
|
# directory.
|
|
#
|
|
# Prerequisites:
|
|
# - (possibly overridden) env variables from fail-env.sh
|
|
#
|
|
|
|
set -e
|
|
# determine absolute path of this script
|
|
SCRIPTDIR=$(readlink -f $(dirname $0))
|
|
# env variable defaults
|
|
source $SCRIPTDIR/fail-env.sh
|
|
|
|
if [ -n "$1" ]; then cd "$1"; fi
|
|
|
|
# possibly necessary files
|
|
[ ! -e bochsrc ] && echo 'Warning: no bochsrc found' >&2
|
|
[ ! -e BIOS-bochs-latest ] && echo 'Warning: no BIOS-bochs-latest found' >&2
|
|
[ ! -e vgabios.bin ] && echo 'Warning: no vgabios.bin found' >&2
|
|
|
|
# necessary files
|
|
[ ! -e client.sh ] && cp -v $SCRIPTDIR/client.sh .
|
|
[ ! -e multiple-clients.sh ] && cp -v $SCRIPTDIR/multiple-clients.sh .
|
|
|
|
# add bochs binary if it doesn't exist
|
|
if [ ! -e bochs ]
|
|
then
|
|
cp -v $(which bochs) .
|
|
strip bochs
|
|
fi
|
|
|
|
# sync everything to experiment hosts
|
|
for h in $FAIL_DISTRIBUTE_HOSTS
|
|
do
|
|
echo Distributing to $h ...
|
|
rsync -az --partial --delete . $h:"$FAIL_EXPERIMENT_TARGETDIR" &
|
|
done
|
|
|
|
wait
|
|
echo "Done."
|