Chris@300: #!/bin/bash Chris@300: Chris@300: version=$(perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h | sed 's/-//g') Chris@300: Chris@300: dockerdir=./deploy/linux/docker Chris@300: if [ ! -d "$dockerdir" ]; then Chris@300: echo "Run this script from the build root" Chris@300: exit 2 Chris@300: fi Chris@300: Chris@300: platform="$1" Chris@300: Chris@300: if [ -z "$platform" ] || [ -n "$2" ]; then Chris@300: echo "Usage: $0 " Chris@300: echo "where matches the suffix of the Docker file, e.g. ubuntu1604" Chris@300: exit 2 Chris@300: fi Chris@300: Chris@300: set -eu Chris@300: Chris@300: echo "Building for version $version, platform $platform" Chris@300: dockerfile="Dockerfile_v${version}_${platform}" Chris@300: Chris@300: if [ ! -f "$dockerdir/$dockerfile" ]; then Chris@300: echo "No matching docker file $dockerfile found in $dockerdir" Chris@300: exit 1 Chris@300: fi Chris@300: Chris@300: dockertag="cannam/sonic-annotator-$platform" Chris@300: Chris@300: sudo docker build -t "$dockertag" -f "$dockerdir/$dockerfile" "$dockerdir" Chris@300: Chris@300: outdir="$dockerdir/output" Chris@300: mkdir -p "$outdir" Chris@300: Chris@300: container=$(sudo docker create "$dockertag") Chris@300: sudo docker cp "$container":output.tar "$outdir" Chris@300: sudo docker rm "$container" Chris@300: Chris@300: ( cd "$outdir" ; tar xf output.tar && rm -f output.tar ) Chris@300: Chris@300: echo Chris@300: echo "Done, output directory contains:" Chris@300: ls -ltr "$outdir"