comparison deploy/linux/build-and-test-deb.sh @ 625:72f85d34a922

Merge
author Chris Cannam
date Thu, 10 Oct 2019 13:39:08 +0100
parents cccac82528b9
children
comparison
equal deleted inserted replaced
624:bd18e52aa382 625:72f85d34a922
1 #!/bin/bash
2 #
3 # Docker required
4
5 set -eu
6
7 current=$(hg id | awk '{ print $1; }')
8 release=$(perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h)
9
10 case "$current" in
11 *+) 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;;
12 *);;
13 esac
14
15 echo
16 echo "Building Debian deb archive from revision $current..."
17
18 dockerdir=deploy/linux/docker
19
20 cat "$dockerdir"/Dockerfile_deb.in | \
21 perl -p -e "s/\[\[REVISION\]\]/$current/g" | \
22 perl -p -e "s/\[\[RELEASE\]\]/$release/g" > \
23 "$dockerdir"/Dockerfile_deb.gen
24
25 cat "$dockerdir"/Dockerfile_test_deb.in | \
26 perl -p -e "s/\[\[REVISION\]\]/$current/g" | \
27 perl -p -e "s/\[\[RELEASE\]\]/$release/g" > \
28 "$dockerdir"/Dockerfile_test_deb.gen
29
30 fgrep 'hg.sr.ht' ~/.ssh/known_hosts > "$dockerdir"/known_hosts
31 cp ~/.ssh/id_rsa_build "$dockerdir"/id_rsa_build
32 chmod 600 "$dockerdir"/known_hosts "$dockerdir"/id_rsa_build
33 trap "rm $dockerdir/known_hosts $dockerdir/id_rsa_build" 0
34
35 dockertag="cannam/tony-deb-$current"
36
37 sudo docker build -t "$dockertag" -f "$dockerdir"/Dockerfile_deb.gen "$dockerdir"
38
39 outdir="$dockerdir/output"
40 mkdir -p "$outdir"
41
42 container=$(sudo docker create "$dockertag")
43
44 sudo docker cp "$container":output-deb.tar "$outdir"
45 sudo docker rm "$container"
46
47 ( cd "$outdir" ; tar xf output-deb.tar && rm -f output-deb.tar )
48
49 sudo docker build -f "$dockerdir"/Dockerfile_test_deb.gen "$dockerdir"