annotate deploy/linux/build-and-test-deb.sh @ 2153:f57b0eea9201

Remove LTO again. It makes linking very slow, I'm not noticing any practical difference in performance, it doesn't work correctly on Travis image etc, and it sometimes breaks in incremental builds.
author Chris Cannam
date Thu, 06 Dec 2018 09:55:36 +0000
parents 3a4202cae7fe
children 6845d7dafebf
rev   line source
Chris@2116 1 #!/bin/bash
Chris@2116 2 #
Chris@2116 3 # Docker required
Chris@2116 4
Chris@2116 5 set -eu
Chris@2116 6
Chris@2116 7 current=$(hg id | awk '{ print $1; }')
Chris@2116 8 release=$(perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h)
Chris@2116 9
Chris@2116 10 case "$current" in
Chris@2116 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;;
Chris@2116 12 *);;
Chris@2116 13 esac
Chris@2116 14
Chris@2116 15 echo
Chris@2116 16 echo "Building Debian deb archive from revision $current..."
Chris@2116 17
Chris@2116 18 dockerdir=deploy/linux/docker
Chris@2116 19
Chris@2116 20 cat "$dockerdir"/Dockerfile_deb.in | \
Chris@2116 21 perl -p -e "s/\[\[REVISION\]\]/$current/g" | \
Chris@2116 22 perl -p -e "s/\[\[RELEASE\]\]/$release/g" > \
Chris@2116 23 "$dockerdir"/Dockerfile_deb.gen
Chris@2116 24
Chris@2116 25 cat "$dockerdir"/Dockerfile_test_deb.in | \
Chris@2116 26 perl -p -e "s/\[\[REVISION\]\]/$current/g" | \
Chris@2116 27 perl -p -e "s/\[\[RELEASE\]\]/$release/g" > \
Chris@2116 28 "$dockerdir"/Dockerfile_test_deb.gen
Chris@2116 29
Chris@2144 30 grep '^bitbucket.org' ~/.ssh/known_hosts > "$dockerdir"/known_hosts
Chris@2144 31 cp ~/.ssh/id_dsa_build "$dockerdir"/id_dsa_build
Chris@2144 32 chmod 600 "$dockerdir"/known_hosts "$dockerdir"/id_dsa_build
Chris@2144 33 trap "rm $dockerdir/known_hosts $dockerdir/id_dsa_build" 0
Chris@2144 34
Chris@2116 35 dockertag="cannam/sonic-visualiser-deb-$current"
Chris@2116 36
Chris@2116 37 sudo docker build -t "$dockertag" -f "$dockerdir"/Dockerfile_deb.gen "$dockerdir"
Chris@2116 38
Chris@2116 39 outdir="$dockerdir/output"
Chris@2116 40 mkdir -p "$outdir"
Chris@2116 41
Chris@2116 42 container=$(sudo docker create "$dockertag")
Chris@2116 43
Chris@2116 44 sudo docker cp "$container":output-deb.tar "$outdir"
Chris@2116 45 sudo docker rm "$container"
Chris@2116 46
Chris@2116 47 ( cd "$outdir" ; tar xf output-deb.tar && rm -f output-deb.tar )
Chris@2116 48
Chris@2116 49 sudo docker build -f "$dockerdir"/Dockerfile_test_deb.gen "$dockerdir"