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