Mercurial > hg > easyhg
diff deploy/linux/build-and-test-appimage.sh @ 701:0720152d1914
Further Linux packaging work
author | Chris Cannam |
---|---|
date | Wed, 12 Dec 2018 10:23:55 +0000 |
parents | |
children | b93d662a12df |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deploy/linux/build-and-test-appimage.sh Wed Dec 12 10:23:55 2018 +0000 @@ -0,0 +1,46 @@ +#!/bin/bash +# +# Docker required + +set -eu + +current=$(hg id | awk '{ print $1; }') + +case "$current" in + *+) 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;; + *);; +esac + +echo +echo "Building appimage from revision $current..." + +dockerdir=deploy/linux/docker + +cat "$dockerdir"/Dockerfile_appimage.in | \ + perl -p -e "s/\[\[REVISION\]\]/$current/g" > \ + "$dockerdir"/Dockerfile_appimage.gen + +cat "$dockerdir"/Dockerfile_test_appimage.in | \ + perl -p -e "s/\[\[REVISION\]\]/$current/g" > \ + "$dockerdir"/Dockerfile_test_appimage.gen + +grep '^bitbucket.org' ~/.ssh/known_hosts > "$dockerdir"/known_hosts +cp ~/.ssh/id_dsa_build "$dockerdir"/id_dsa_build +chmod 600 "$dockerdir"/known_hosts "$dockerdir"/id_dsa_build +trap "rm $dockerdir/known_hosts $dockerdir/id_dsa_build" 0 + +dockertag="cannam/easymercurial-appimage-$current" + +sudo docker build -t "$dockertag" -f "$dockerdir"/Dockerfile_appimage.gen "$dockerdir" + +outdir="$dockerdir/output" +mkdir -p "$outdir" + +container=$(sudo docker create "$dockertag") + +sudo docker cp "$container":output-appimage.tar "$outdir" +sudo docker rm "$container" + +( cd "$outdir" ; tar xf output-appimage.tar && rm -f output-appimage.tar ) + +sudo docker build -t "$dockertag"-test -f "$dockerdir"/Dockerfile_test_appimage.gen "$dockerdir"