Mercurial > hg > vamp-plugin-sdk
annotate build/docker/build.sh @ 499:8ede825a54f6
Rework canonicalisation so as to avoid theoretical possibility of integer overflow. (This is unit tested in svcore, not here - tests pass)
author | Chris Cannam |
---|---|
date | Mon, 11 Dec 2017 09:27:57 +0000 |
parents | 124752918a1b |
children |
rev | line source |
---|---|
Chris@491 | 1 #!/bin/bash |
Chris@491 | 2 |
Chris@491 | 3 dockerdir=./build/docker |
Chris@491 | 4 if [ ! -d "$dockerdir" ]; then |
Chris@491 | 5 echo "Run this script from the build root" |
Chris@491 | 6 exit 2 |
Chris@491 | 7 fi |
Chris@491 | 8 |
Chris@491 | 9 version="$1" |
Chris@491 | 10 platform="$2" |
Chris@491 | 11 |
Chris@491 | 12 if [ -z "$platform" ] || [ -z "$version" ] || [ -n "$3" ]; then |
Chris@491 | 13 echo "Usage: $0 <version> <platform>" |
Chris@491 | 14 echo "where <platform> matches the suffix of the Docker file, e.g. ubuntu1604" |
Chris@491 | 15 exit 2 |
Chris@491 | 16 fi |
Chris@491 | 17 |
Chris@491 | 18 set -eu |
Chris@491 | 19 |
Chris@491 | 20 echo "Building for version $version, platform $platform" |
Chris@491 | 21 dockerfile="Dockerfile_v${version}_${platform}" |
Chris@491 | 22 |
Chris@491 | 23 if [ ! -f "$dockerdir/$dockerfile" ]; then |
Chris@491 | 24 echo "No matching docker file $dockerfile found in $dockerdir" |
Chris@491 | 25 exit 1 |
Chris@491 | 26 fi |
Chris@491 | 27 |
Chris@491 | 28 dockertag="cannam/vamp-plugin-sdk-$platform" |
Chris@491 | 29 |
Chris@491 | 30 sudo docker build -t "$dockertag" -f "$dockerdir/$dockerfile" "$dockerdir" |
Chris@491 | 31 |
Chris@491 | 32 outdir="$dockerdir/output" |
Chris@491 | 33 mkdir -p "$outdir" |
Chris@491 | 34 |
Chris@491 | 35 container=$(sudo docker create "$dockertag") |
Chris@491 | 36 sudo docker cp "$container":output.tar "$outdir" |
Chris@491 | 37 sudo docker rm "$container" |
Chris@491 | 38 |
Chris@491 | 39 ( cd "$outdir" ; tar xf output.tar && rm -f output.tar ) |
Chris@491 | 40 |
Chris@491 | 41 echo |
Chris@491 | 42 echo "Done, output directory contains:" |
Chris@491 | 43 ls -ltr "$outdir" |