[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v4 11/11] osstest: add FreeBSD build recipe



This patch introduces two new buildjobs:

build-<arch>-freebsd-xen: sets up a FreeBSD host and builds Xen.
build-<arch>-freebsd-freebsd: sets up a FreeBSD host and builds FreeBSD sets
and a mfsBSD installer image.

Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx>
Cc: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
 ap-common  |  2 ++
 mfi-common | 22 ++++++++++++++++++++++
 sg-run-job | 25 +++++++++++++++++++++----
 3 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/ap-common b/ap-common
index 96cbd14..8987637 100644
--- a/ap-common
+++ b/ap-common
@@ -27,6 +27,8 @@
 #: ${TREE_QEMU:=git://mariner.uk.xensource.com/qemu-$xenbranch.git}
 : ${TREE_QEMU:=git://xenbits.xen.org/staging/qemu-$xenbranch.git}
 
+: ${TREE_FREEBSD:=https://github.com/freebsd/freebsd.git}
+: ${TREE_MFSBSD:=https://github.com/mmatuska/mfsbsd.git}
 
 : ${GIT_KERNEL_ORG:=git://git.kernel.org}
 : ${KERNEL_SCM:=${GIT_KERNEL_ORG}/pub/scm/linux/kernel/git}
diff --git a/mfi-common b/mfi-common
index e167606..636052e 100644
--- a/mfi-common
+++ b/mfi-common
@@ -153,6 +153,28 @@ create_build_jobs () {
                 revision_qemuu=$REVISION_QEMU_UPSTREAM                       \
                 revision_seabios=$REVISION_SEABIOS
 
+    ./cs-job-create $flight build-$arch-freebsd-freebsd build-freebsd        \
+                arch=$arch                                                   \
+        tree_freebsd=$TREE_FREEBSD                                           \
+        tree_mfsbsd=$TREE_MFSBSD                                             \
+                $RUNVARS $BUILD_RUNVARS $arch_runvars                        \
+                host_hostflags=$build_hostflags                              \
+                revision_freebsd=$REVISION_FREEBSD                           \
+                revision_mfsbsd=$REVISION_MFSBSD
+
+    ./cs-job-create $flight build-$arch-freebsd-xen build                    \
+                arch=$arch enable_xend=false enable_ovmf=false               \
+        tree_qemu=$TREE_QEMU                                                 \
+        tree_qemuu=$TREE_QEMU_UPSTREAM                                       \
+        tree_xen=$TREE_XEN                                                   \
+        tree_seabios=$TREE_SEABIOS                                           \
+                $RUNVARS $BUILD_RUNVARS $BUILD_XEN_RUNVARS $arch_runvars     \
+                host_hostflags=$build_hostflags                              \
+                revision_xen=$REVISION_XEN                                   \
+                revision_qemu=$REVISION_QEMU                                 \
+                revision_qemuu=$REVISION_QEMU_UPSTREAM                       \
+                revision_seabios=$REVISION_SEABIOS
+
     if [ $build_extraxend = "true" ] ; then
     ./cs-job-create $flight build-$arch-xend build                           \
                 arch=$arch enable_xend=true enable_ovmf=$enable_ovmf         \
diff --git a/sg-run-job b/sg-run-job
index 2cf810a..d8d75ba 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -50,8 +50,13 @@ proc run-job {job} {
 
     if {$ok} { setstatus running                                          }
 
-    per-host-ts broken  host-install/@(*) ts-host-install-twice
-    per-host-ts .       xen-install/@     ts-xen-install
+    if {[string match *freebsd* $job]} {
+        per-host-ts broken  host-install/@(*) ts-freebsd-host-install
+        per-host-ts .       xen-install/@     ts-xen-install-freebsd
+    } else {
+        per-host-ts broken  host-install/@(*) ts-host-install-twice
+        per-host-ts .       xen-install/@     ts-xen-install
+    }
     per-host-ts .       xen-boot/@        ts-host-reboot
 
     per-host-ts .       =(*)             {ts-leak-check basis}
@@ -327,6 +332,7 @@ proc need-hosts/build {} { return BUILD }
 proc need-hosts/build-kern {} { return BUILD }
 proc need-hosts/build-libvirt {} { return BUILD }
 proc need-hosts/build-rumpuserxen {} { return BUILD }
+proc need-hosts/build-freebsd {} { return BUILD }
 
 proc run-job/build {} {
     run-ts . = ts-xen-build
@@ -345,11 +351,22 @@ proc run-job/build-rumpuserxen {} {
     run-ts . = ts-xen-build + host tools
 }
 
+proc run-job/build-freebsd {} {
+    run-ts . = ts-freebsd-create-mfsbsd
+}
+
 proc prepare-build-host {} {
     global jobinfo
     run-ts broken = ts-hosts-allocate + host
-    run-ts broken host-install(*) ts-host-install-twice
-    run-ts . host-build-prep ts-xen-build-prep
+    if {[string match *freebsd-xen* $jobinfo(job)]} {
+        run-ts broken host-install(*) ts-freebsd-host-install
+        run-ts . host-build-prep ts-xen-build-prep-freebsd
+    } elseif {[string match *freebsd-freebsd* $jobinfo(job)]} {
+        run-ts broken host-install(*) ts-freebsd-host-install
+    } else {
+        run-ts broken host-install(*) ts-host-install-twice
+        run-ts . host-build-prep ts-xen-build-prep
+    }
 }
 
 #---------- main program ----------
-- 
1.9.3 (Apple Git-50)


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.