Chris@128: #!/bin/bash Chris@128: # Chris@128: # Docker required! Chris@128: Chris@128: if [ -z "$1" ] || [ -z "$2" ]; then Chris@128: echo "Usage: $0 " Chris@128: exit 2 Chris@128: fi Chris@128: Chris@128: platform=ubuntu1604 Chris@128: dockerfile=SCRIPTS/Dockerfile_$platform Chris@128: Chris@128: mkdir -p "PACKAGES/$platform" Chris@128: Chris@128: if [ ! -f "$dockerfile.in" ]; then Chris@128: echo "Docker file source $dockerfile.in not found (are we in the right directory?" Chris@128: exit 1 Chris@128: fi Chris@128: Chris@128: set -eu Chris@128: Chris@128: repo="$1" Chris@128: repo_revision="$2" Chris@128: Chris@128: current=$(hg id | awk '{ print $1; }') Chris@128: Chris@128: case "$current" in Chris@128: *+) echo "WARNING: Current working copy has been modified - build will check out the last commit, which must perforce be different";; Chris@128: *);; Chris@128: esac Chris@128: Chris@128: current=${current%%+} Chris@128: Chris@128: cat "$dockerfile.in" \ Chris@128: | perl -p -e 's/\[\[REVISION\]\]/'"$current"'/' \ Chris@128: | perl -p -e 's/\[\[REPO\]\]/'"$repo"'/' \ Chris@128: | perl -p -e 's/\[\[REPOREVISION\]\]/'"$repo_revision"'/' \ Chris@128: > "$dockerfile" Chris@128: Chris@128: dockertag="cannam/vamp-build-and-test-$current" Chris@128: Chris@128: sudo docker build -t "$dockertag" -f "$dockerfile" SCRIPTS Chris@128: Chris@128: container=$(sudo docker create "$dockertag") Chris@128: sudo docker cp "$container":vamp-build-and-test/PACKAGES/linux64/ "PACKAGES/$platform"/ Chris@128: sudo docker rm "$container" Chris@128: Chris@128: echo "Done!" Chris@128: