Chris@54: #!/bin/bash Chris@54: # Chris@54: # Docker required Chris@54: Chris@54: set -eu Chris@54: Chris@54: current=$(hg id | awk '{ print $1; }') Chris@54: Chris@54: case "$current" in Chris@54: *+) echo "ERROR: Current working copy has been modified - unmodified copy required so we know we can check it out separately and obtain the same contents"; exit 2;; Chris@54: *);; Chris@54: esac Chris@54: Chris@54: echo Chris@91: echo "Building appimage from revision $current..." Chris@54: Chris@54: dockerdir=deploy/linux/docker Chris@54: Chris@54: cat "$dockerdir"/Dockerfile.in | \ Chris@54: perl -p -e "s/\[\[REVISION\]\]/$current/g" > \ Chris@54: "$dockerdir"/Dockerfile.gen Chris@54: Chris@91: cat "$dockerdir"/Dockerfile_test.in | \ Chris@91: perl -p -e "s/\[\[REVISION\]\]/$current/g" > \ Chris@91: "$dockerdir"/Dockerfile_test.gen Chris@91: Chris@54: fgrep 'hg.sr.ht' ~/.ssh/known_hosts > "$dockerdir"/known_hosts Chris@54: cp ~/.ssh/id_rsa_build "$dockerdir"/id_rsa_build Chris@54: chmod 600 "$dockerdir"/known_hosts "$dockerdir"/id_rsa_build Chris@54: trap "rm $dockerdir/known_hosts $dockerdir/id_rsa_build" 0 Chris@54: Chris@54: dockertag="cannam/vamp-plugin-pack-installer-$current" Chris@54: Chris@54: sudo docker build -t "$dockertag" -f "$dockerdir"/Dockerfile.gen "$dockerdir" Chris@54: Chris@54: outdir="$dockerdir/output" Chris@54: mkdir -p "$outdir" Chris@54: Chris@54: container=$(sudo docker create "$dockertag") Chris@54: Chris@54: sudo docker cp "$container":output.tar "$outdir" Chris@54: sudo docker rm "$container" Chris@54: Chris@54: ( cd "$outdir" ; tar xf output.tar && rm -f output.tar ) Chris@91: Chris@91: sudo docker build -f "$dockerdir"/Dockerfile_test.gen "$dockerdir"