From c85ed00d2e6e5c3ba0ecdebf7e6752b40b524691 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Wed, 4 Jul 2018 18:06:17 +0200 Subject: [PATCH] osstest: limit FreeBSD jobs to hardware booting in BIOS mode MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit There's no support yet in osstest to install FreeBSD from UEFI, so for the time being limit the FreeBSD jobs to boxes booting with legacy BIOS. The hostflags are not set for examine jobs, in order to avoid them from only running on BIOS boxes. Signed-off-by: Roger Pau Monné Acked-by: Ian Jackson --- Note that this patch depends on Ian Jackson's resource allocation series. --- Changes since v1: - Fix nonbreaking space. - Fix long line. --- make-flight | 3 ++- mfi-common | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/make-flight b/make-flight index 0e63bc0..96c261b 100755 --- a/make-flight +++ b/make-flight @@ -704,7 +704,8 @@ do_examine_one () { local freebsd_runvars # set_freebsd_runvars expects $arch to be set to the desired FreeBSD arch. local arch=$dom0arch - set_freebsd_runvars + # Pass true to not append any hostflags when creating the FreeBSD runvars. + set_freebsd_runvars true job_create_test test-$xenarch$kern-$dom0arch-examine \ host-examine-xen xl $xenarch $dom0arch \ all_hostflags=$most_hostflags $freebsd_runvars diff --git a/mfi-common b/mfi-common index 3038f71..9d1bfac 100644 --- a/mfi-common +++ b/mfi-common @@ -155,27 +155,35 @@ set_freebsd_runvars () { # # 4. Look for an anointed build of FreeBSD `master' (Executive only) # + local no_hostflags=$1 local envvar="FREEBSD_${arch^^}_BUILDJOB" + + if [ x$no_hostflags != xtrue ]; then + # osstest doesn't yet know how to install FreeBSD on UEFI hosts, so + # limit the usable hardware to boxes that boot from BIOS. + freebsd_runvars="all_hostflags,=PropEq:Firmware:bios:bios" + fi + if [ -n "${!envvar}" ]; then - freebsd_runvars="freebsdbuildjob=${!envvar}" + freebsd_runvars="$freebsd_runvars freebsdbuildjob=${!envvar}" return fi if [ -n "$FREEBSD_DIST" ] && [ -n "$FREEBSD_VERSION" ]; then - freebsd_runvars="freebsd_distpath=$FREEBSD_DIST/$arch \ + freebsd_runvars="$freebsd_runvars freebsd_distpath=$FREEBSD_DIST/$arch \ freebsd_version=$FREEBSD_VERSION" return fi local distpath=`getconfig "FreeBSDDist"` if [ -n "$distpath" ]; then local version=`getconfig "FreeBSDVersion"` - freebsd_runvars="freebsd_distpath=$distpath/$arch \ + freebsd_runvars="$freebsd_runvars freebsd_distpath=$distpath/$arch \ freebsd_version=$version" return fi local anointment="freebsd build master $arch" local flightjob=`./mg-anoint retrieve --tolerate-unprepared "$anointment"` if [ -n "$flightjob" ]; then - freebsd_runvars="freebsdbuildjob=${flightjob/ /.}" + freebsd_runvars="$freebsd_runvars freebsdbuildjob=${flightjob/ /.}" return fi } -- 2.39.5