view sources/more/native-build.sh @ 981:c6b3d648ead6

Cleanups and comments.
author Rob Landley <rob@landley.net>
date Sun, 21 Feb 2010 12:03:28 -0600
parents cfa6262528f3
children 6d3db5bf731a
line wrap: on
line source

#!/bin/bash

# setup hdc.sqf
# find build -name "hdb.img" | xargs rm

# Launch a system image under the emulator under the control of a filesystem
# image, with an FTP server to upload results to.

. sources/functions.sh || exit 1

# Parse arguments

if [ $# -ne 3 ]
then
  echo "usage: $0 ARCH HDCFILE OUTPUTDIR" >&2
  exit 1
fi

ARCH="$1"
if [ ! -f "$2" ]
then
  echo "Filesystem image $2 missing" >&2
  exit 1
fi
HDCFILE="$(readlink -f $2)"
mkdir -p "$3" || dienow
STAGE_DIR="$(readlink -f $3)"

# Fire off the ftp daemon, making sure it's killed when this script exits

. sources/toys/unique-port.sh || exit 1
PORT=$(unique_port)
build/host/netcat -s 127.0.0.1 -p $PORT -L build/host/ftpd -w "$STAGE_DIR" &
trap "kill $(jobs -p)" EXIT
disown $(jobs -p)

# Run emulator as a child process, feeding in -hdc and some extra environment
# variables so it auto-launches the build process.

echo === Begin native build for $ARCH

rm -f sources/system-image-"$ARCH"/hdb.img
HDC="$HDCFILE" KERNEL_EXTRA="OUTPORT=$PORT ARCH=$ARCH" \
  sources/timeout.sh 60 ./run-from-build.sh "$ARCH"

echo === End native build for $ARCH