#!/bin/sh # shellcheck disable=SC2086 if test "$#" -ne 2; then echo "$(basename $0) takes two positional arguments. architecture and release" 1>&2 exit 1 fi set -ex cleanup() { rm -f ssh_id ssh_id.pub test.ext4 } trap cleanup EXIT INT TERM QUIT ssh-keygen -f ssh_id -N '' debvm-create -k ssh_id.pub -o test.ext4 -a "$1" -r "$2" timeout 240s debvm-run -s 2222 -i test.ext4 & timeout=5 sshopt="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $(if test "$2" = jessie; then echo -o PubkeyAcceptedKeyTypes=+ssh-rsa; fi)" ts=$(sleepenh 0 || [ $? -eq 1 ]) for i in $(seq 30); do rv=0 ssh $sshopt -o ConnectTimeout="$timeout" -i ssh_id -p 2222 root@localhost echo success || rv=$? test $rv -eq 0 && break ts=$(sleepenh "$ts" "$timeout" || [ $? -eq 1 ]); if test "$i" -eq 30; then echo "timeout reached" >&2 exit 1 fi done ssh $sshopt -i ssh_id -p 2222 root@localhost poweroff