All of lore.kernel.org
 help / color / mirror / Atom feed
* [OSSTEST PATCH 00/26] rump kernels: Fix build
@ 2016-09-05 14:02 Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 01/26] Executive: Do update flights_harness_touched for play flights Ian Jackson
                   ` (25 more replies)
  0 siblings, 26 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel

This series fixes the rump kernel build, and the test plumbing.  The
tests still fail because they xenbus driver in rump kernel upstream
has rotted.  I'm working on that...

Ian.

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 01/26] Executive: Do update flights_harness_touched for play flights
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 02/26] Executive: Allow out-of-order manipulations of flights intended play Ian Jackson
                   ` (24 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Have \bplay\b simply bypass the blessing check, but not the harness
revision update which follows.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/JobDB/Executive.pm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/Osstest/JobDB/Executive.pm b/Osstest/JobDB/Executive.pm
index c0af21c..51c1ebb 100644
--- a/Osstest/JobDB/Executive.pm
+++ b/Osstest/JobDB/Executive.pm
@@ -108,9 +108,11 @@ END
 
     die "modifying flight $fl but flight not found\n"
         unless defined $bless;
-    return if $bless =~ m/\bplay\b/;
-    die "modifying flight $fl blessing $bless expected @$flok\n"
-        unless grep { $_ eq $bless } @$flok;
+
+    unless ($bless =~ m/\bplay\b/) {
+	die "modifying flight $fl blessing $bless expected @$flok\n"
+	    unless grep { $_ eq $bless } @$flok;
+    }
 
     my $rev = get_harness_rev();
 
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 02/26] Executive: Allow out-of-order manipulations of flights intended play
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 01/26] Executive: Do update flights_harness_touched for play flights Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 03/26] TestSupport: Produce stack trace for undef tfileex Ian Jackson
                   ` (23 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Flights being operated on by a developer hacking about with the code,
which were created with intended blessing `play', are usually blessed
`running' or `broken' or something.  So the safety catch bypass needs
to look at the intended blessing too.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/JobDB/Executive.pm | 6 +++---
 README.dev                 | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/Osstest/JobDB/Executive.pm b/Osstest/JobDB/Executive.pm
index 51c1ebb..c21eba7 100644
--- a/Osstest/JobDB/Executive.pm
+++ b/Osstest/JobDB/Executive.pm
@@ -102,14 +102,14 @@ sub dbfl_check ($$) { #method
     }
     die unless ref($flok) eq 'ARRAY';
 
-    my ($bless) = $dbh_tests->selectrow_array(<<END, {}, $fl);
-        SELECT blessing FROM flights WHERE flight=?
+    my ($bless, $intended) = $dbh_tests->selectrow_array(<<END, {}, $fl);
+        SELECT blessing, intended FROM flights WHERE flight=?
 END
 
     die "modifying flight $fl but flight not found\n"
         unless defined $bless;
 
-    unless ($bless =~ m/\bplay\b/) {
+    unless ($bless =~ m/\bplay\b/ || $intended =~ m/\bplay\b/) {
 	die "modifying flight $fl blessing $bless expected @$flok\n"
 	    unless grep { $_ eq $bless } @$flok;
     }
diff --git a/README.dev b/README.dev
index 351cd25..a5b23b0 100644
--- a/README.dev
+++ b/README.dev
@@ -341,4 +341,5 @@ they crashed, are simply left with whatever blessing they had at the
 time.
 
 There is a special exception to the tools' flight status checks: any
-flight whose blessing contains `play' can be operated on out of order.
+flight whose blessing (or intended blessing) contains `play' can be
+operated on out of order.
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 03/26] TestSupport: Produce stack trace for undef tfileex
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 01/26] Executive: Do update flights_harness_touched for play flights Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 02/26] Executive: Allow out-of-order manipulations of flights intended play Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 04/26] rumprun: Rename all `rumpuserxen' to `rumprun' Ian Jackson
                   ` (22 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Use `confess' to see where an undef $rfile came from.  I think there
will probably be lots more of this pattern.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/TestSupport.pm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index d0d6ef3..a6ab18f 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -31,6 +31,7 @@ use Osstest::Logtailer;
 use File::Copy;
 use File::Basename;
 use IO::Handle;
+use Carp;
 
 BEGIN {
     use Exporter ();
@@ -523,6 +524,8 @@ sub teditfileex {
     my $code= pop @_;
     my ($ho,$rfile,$lleaf,$rdest) = @_;
 
+    confess unless defined $rfile;
+
     if (!defined $rdest) {
         $rdest= $rfile;
     }
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 04/26] rumprun: Rename all `rumpuserxen' to `rumprun'
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (2 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 03/26] TestSupport: Produce stack trace for undef tfileex Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 05/26] rumprun: Fetch source from new upstream Ian Jackson
                   ` (21 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

The names have changed upstream.

Since upstream is no longer compatible and these tests have been
failing since then, we are going to treat this as an entirely new test
series.

In this patch we rename everything mechanically.  More interesting
changes will come later.

git-mv -f ts-rumpuserxen-build ts-rumprun-build
git-mv -f ts-rumpuserxen-demo-setup ts-rumprun-demo-setup
git-mv -f ts-rumpuserxen-demo-xenstorels ts-rumprun-demo-xenstorels

git-ls-files | xargs perl -i~ -pe 's/rumpuserxen/rumprun/g'
git-ls-files | xargs perl -i~ -pe 's/(_|\b)rumpuserxen(_|\b)/$1rumprun$2/g'

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 allow.all                      |   4 +-
 allow.rumpuserxen              |   2 +-
 ap-common                      |  16 +++---
 ap-fetch-version               |   6 +-
 ap-fetch-version-old           |   8 +--
 ap-print-url                   |   4 +-
 ap-push                        |   8 +--
 cr-daily-branch                |  12 ++--
 cri-common                     |   2 +-
 crontab                        |   4 +-
 make-flight                    |  14 ++---
 mfi-common                     |  16 +++---
 sg-run-job                     |  18 +++---
 ts-rumprun-build               | 126 +++++++++++++++++++++++++++++++++++++++++
 ts-rumprun-demo-setup          |  92 ++++++++++++++++++++++++++++++
 ts-rumprun-demo-xenstorels     | 124 ++++++++++++++++++++++++++++++++++++++++
 ts-rumpuserxen-build           | 126 -----------------------------------------
 ts-rumpuserxen-demo-setup      |  92 ------------------------------
 ts-rumpuserxen-demo-xenstorels | 124 ----------------------------------------
 19 files changed, 399 insertions(+), 399 deletions(-)
 create mode 100755 ts-rumprun-build
 create mode 100755 ts-rumprun-demo-setup
 create mode 100755 ts-rumprun-demo-xenstorels
 delete mode 100755 ts-rumpuserxen-build
 delete mode 100755 ts-rumpuserxen-demo-setup
 delete mode 100755 ts-rumpuserxen-demo-xenstorels

diff --git a/allow.all b/allow.all
index 785d0b2..c4a2854 100644
--- a/allow.all
+++ b/allow.all
@@ -2,6 +2,6 @@ test-@@-rtds@@
 build-@@                        logs-capture@@
 test-@@-pcipt@@
 test-@@-qemuu-@@		guest-localmigrate
-test-@@-rumpuserxen@@		rumpuserxen-demo-xenstorels/xenstorels
+test-@@-rumprun@@		rumprun-demo-xenstorels/xenstorels
 test-@@-win7-@@			guest-stop
-test-@@-rumpuserxen-@@		rumpuserxen-demo-xenstorels/xenstorels.repeat
+test-@@-rumprun-@@		rumprun-demo-xenstorels/xenstorels.repeat
diff --git a/allow.rumpuserxen b/allow.rumpuserxen
index d9034a2..436417b 100644
--- a/allow.rumpuserxen
+++ b/allow.rumpuserxen
@@ -1 +1 @@
-!test-@@-rumpuserxen-@@		rumpuserxen-demo-xenstorels/xenstorels.repeat
+!test-@@-rumprun-@@		rumprun-demo-xenstorels/xenstorels.repeat
diff --git a/ap-common b/ap-common
index 19c7580..6fe3b78 100644
--- a/ap-common
+++ b/ap-common
@@ -37,15 +37,15 @@
 : ${PUSH_TREE_LIBVIRT:=$XENBITS:/home/xen/git/libvirt.git}
 : ${BASE_TREE_LIBVIRT:=git://xenbits.xen.org/libvirt.git}
 
-: ${TREE_RUMPUSERXEN:=https://github.com/rumpkernel/rumprun-xen}
-: ${TREEVCS_RUMPUSERXEN:=git}
-: ${BASE_TREE_RUMPUSERXEN:=git://xenbits.xen.org/rumpuser-xen.git}
-: ${PUSH_TREE_RUMPUSERXEN:=$XENBITS:/home/xen/git/rumpuser-xen.git}
+: ${TREE_RUMPRUN:=https://github.com/rumpkernel/rumprun-xen}
+: ${TREEVCS_RUMPRUN:=git}
+: ${BASE_TREE_RUMPRUN:=git://xenbits.xen.org/rumpuser-xen.git}
+: ${PUSH_TREE_RUMPRUN:=$XENBITS:/home/xen/git/rumpuser-xen.git}
 
-: ${TREE_RUMPUSERXEN_RUMPSRC:=$(besteffort_repo https://github.com/rumpkernel/rumpkernel-netbsd-src)}
-: ${TREEVCS_RUMPUSERXEN_RUMPSRC:=git}
+: ${TREE_RUMPRUN_RUMPSRC:=$(besteffort_repo https://github.com/rumpkernel/rumpkernel-netbsd-src)}
+: ${TREEVCS_RUMPRUN_RUMPSRC:=git}
 # rumpsrc-related runvars needed only for old rumpuser-xen
-# (ie ones which need $bodges=1 in ts-rumpuserxen-build)
+# (ie ones which need $bodges=1 in ts-rumprun-build)
 
 : ${TREE_SEABIOS_UPSTREAM:=git://git.seabios.org/seabios.git}
 : ${PUSH_TREE_SEABIOS:=$XENBITS:/home/xen/git/osstest/seabios.git}
@@ -79,7 +79,7 @@ fi
 : ${LOCALREV_XEN:=daily-cron.$branch}
 : ${LOCALREV_LINUX:=daily-cron.$branch}
 : ${LOCALREV_LIBVIRT:=daily-cron.$branch}
-: ${LOCALREV_RUMPUSERXEN:=daily-cron.$branch}
+: ${LOCALREV_RUMPRUN:=daily-cron.$branch}
 : ${LOCALREV_SEABIOS:=daily-cron.$branch}
 : ${LOCALREV_OVMF:=daily-cron.$branch}
 
diff --git a/ap-fetch-version b/ap-fetch-version
index f26d60a..8562159 100755
--- a/ap-fetch-version
+++ b/ap-fetch-version
@@ -90,9 +90,9 @@ libvirt)
 	repo_tree_rev_fetch_git libvirt \
 		$TREE_LIBVIRT master $LOCALREV_LIBVIRT
 	;;
-rumpuserxen)
-	repo_tree_rev_fetch_git rumpuserxen \
-		$TREE_RUMPUSERXEN master $LOCALREV_RUMPUSERXEN
+rumprun)
+	repo_tree_rev_fetch_git rumprun \
+		$TREE_RUMPRUN master $LOCALREV_RUMPRUN
 	;;
 seabios)
 	repo_tree_rev_fetch_git seabios \
diff --git a/ap-fetch-version-old b/ap-fetch-version-old
index 7cc31a3..5d44add 100755
--- a/ap-fetch-version-old
+++ b/ap-fetch-version-old
@@ -30,7 +30,7 @@ check_ap_fetch_placeholders
 : ${BASE_TAG_LINUX2639:=tested/2.6.39.x}
 : ${BASE_LOCALREV_LINUX:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_LIBVIRT:=daily-cron.$branch.old}
-: ${BASE_LOCALREV_RUMPUSERXEN:=daily-cron.$branch.old}
+: ${BASE_LOCALREV_RUMPRUN:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old}
 : ${BASE_TAG_LIBVIRT:=xen-tested-master}
@@ -97,9 +97,9 @@ libvirt)
 	repo_tree_rev_fetch_git libvirt \
 		$BASE_TREE_LIBVIRT $BASE_TAG_LIBVIRT $BASE_LOCALREV_LIBVIRT
 	;;
-rumpuserxen)
-	repo_tree_rev_fetch_git rumpuserxen \
-		$BASE_TREE_RUMPUSERXEN xen-tested-master $BASE_LOCALREV_RUMPUSERXEN
+rumprun)
+	repo_tree_rev_fetch_git rumprun \
+		$BASE_TREE_RUMPRUN xen-tested-master $BASE_LOCALREV_RUMPRUN
 	;;
 seabios)
 	repo_tree_rev_fetch_git seabios \
diff --git a/ap-print-url b/ap-print-url
index 4088852..8a41e70 100755
--- a/ap-print-url
+++ b/ap-print-url
@@ -52,8 +52,8 @@ linuxfirmware)
 libvirt)
 	echo $TREE_LIBVIRT
 	;;
-rumpuserxen)
-	echo $TREE_RUMPUSERXEN
+rumprun)
+	echo $TREE_RUMPRUN
 	;;
 seabios)
 	echo $TREE_SEABIOS_UPSTREAM
diff --git a/ap-push b/ap-push
index e33a803..7d3d473 100755
--- a/ap-push
+++ b/ap-push
@@ -37,7 +37,7 @@ TREE_LINUX=$PUSH_TREE_LINUX
 TREE_QEMU_UPSTREAM=$PUSH_TREE_QEMU_UPSTREAM
 TREE_XEN=$PUSH_TREE_XEN
 TREE_LIBVIRT=$PUSH_TREE_LIBVIRT
-TREE_RUMPUSERXEN=$PUSH_TREE_RUMPUSERXEN
+TREE_RUMPRUN=$PUSH_TREE_RUMPRUN
 TREE_SEABIOS=$PUSH_TREE_SEABIOS
 TREE_OVMF=$PUSH_TREE_OVMF
 
@@ -112,9 +112,9 @@ libvirt)
 	cd $repos/libvirt
 	git push $TREE_LIBVIRT $revision:refs/heads/xen-tested-master
 	;;
-rumpuserxen)
-	cd $repos/rumpuserxen
-	git push $TREE_RUMPUSERXEN $revision:refs/heads/xen-tested-master
+rumprun)
+	cd $repos/rumprun
+	git push $TREE_RUMPRUN $revision:refs/heads/xen-tested-master
 	;;
 seabios)
 	cd $repos/seabios
diff --git a/cr-daily-branch b/cr-daily-branch
index 21780b8..7d49439 100755
--- a/cr-daily-branch
+++ b/cr-daily-branch
@@ -195,9 +195,9 @@ if [ "x$REVISION_LIBVIRT" = x ]; then
 	determine_version REVISION_LIBVIRT libvirt LIBVIRT
 	export REVISION_LIBVIRT
 fi
-if [ "x$REVISION_RUMPUSERXEN" = x ]; then
-	determine_version REVISION_RUMPUSERXEN rumpuserxen RUMPUSERXEN
-	export REVISION_RUMPUSERXEN
+if [ "x$REVISION_RUMPRUN" = x ]; then
+	determine_version REVISION_RUMPRUN rumprun RUMPRUN
+	export REVISION_RUMPRUN
 fi
 if [ "x$REVISION_LINUXFIRMWARE" = x ]; then
 	determine_version REVISION_LINUXFIRMWARE linuxfirmware LINUXFIRMWARE
@@ -238,9 +238,9 @@ libvirt)
 	realtree=libvirt
 	NEW_REVISION=$REVISION_LIBVIRT
 	;;
-rumpuserxen)
-	realtree=rumpuserxen
-	NEW_REVISION=$REVISION_RUMPUSERXEN
+rumprun)
+	realtree=rumprun
+	NEW_REVISION=$REVISION_RUMPRUN
 	export REVISION_LINUX_OLD=disable
 	export REVISION_LIBVIRT=disable
 	;;
diff --git a/cri-common b/cri-common
index cdee48d..6e555a6 100644
--- a/cri-common
+++ b/cri-common
@@ -76,7 +76,7 @@ select_xenbranch () {
 	linux-*)		tree=linux;	xenbranch=xen-unstable ;;
 	linuxfirmware)	    tree=linuxfirmware;	xenbranch=xen-unstable ;;
 	libvirt)		tree=libvirt;	xenbranch=xen-unstable ;;
-	rumpuserxen)	      tree=rumpuserxen; xenbranch=xen-unstable ;;
+	rumprun)	      tree=rumprun; xenbranch=xen-unstable ;;
 	seabios)		tree=seabios;	xenbranch=xen-unstable ;;
 	ovmf)			tree=ovmf;	xenbranch=xen-unstable ;;
 	distros-*)		tree=none;	xenbranch=xen-unstable ;;
diff --git a/crontab b/crontab
index 6ddc2b8..f1ba2e5 100755
--- a/crontab
+++ b/crontab
@@ -8,8 +8,8 @@ MAILTO=ian.jackson@citrix.com,ian.campbell@eu.citrix.com
 0		*	* * *		cd testing.git && BRANCHES=xen-unstable-smoke	./cr-for-branches branches -q "./cr-daily-branch --real"
 4-59/30		*	* * *		cd testing.git &&				./cr-for-branches branches -q "./cr-daily-branch --real"
 18		9	* * 3,7		cd testing.git && BRANCHES=xen-unstable-coverity ./cr-for-branches branches -w "./cr-daily-branch --real"
-18		4	* * *		cd testing.git && BRANCHES='linux-3.0 libvirt rumpuserxen' ./cr-for-branches branches -w "./cr-daily-branch --real"
-6-59/15   	*	* * *		cd testing.git && EXTRA_BRANCHES='linux-3.0 rumpuserxen libvirt' ./cr-for-branches bisects -w "./cr-try-bisect --real"
+18		4	* * *		cd testing.git && BRANCHES='linux-3.0 libvirt rumprun' ./cr-for-branches branches -w "./cr-daily-branch --real"
+6-59/15   	*	* * *		cd testing.git && EXTRA_BRANCHES='linux-3.0 rumprun libvirt' ./cr-for-branches bisects -w "./cr-try-bisect --real"
 #8-59/5		*	* * *		cd bisects/adhoc.git &&	with-lock-ex -q data-tree-lock bash -c "./cr-try-bisect-adhoc; exit $?"
 22		8	* * *		cd testing.git && BRANCHES=maintjobs		./cr-for-branches . -w ./cr-all-branch-statuses ''
 3		4	* * *		savelog -c28 testing.git/tmp/cr-for-branches.log >/dev/null
diff --git a/make-flight b/make-flight
index 18e5bc3..906bf2b 100755
--- a/make-flight
+++ b/make-flight
@@ -107,9 +107,9 @@ job_create_test_filter_callback () {
     libvirt)
       if [ x$toolstack != xlibvirt ] ; then return 1; fi
       ;;
-    rumpuserxen)
+    rumprun)
       case "$job" in
-      *-rumpuserxen-*)
+      *-rumprun-*)
           ;;
       *)
           : "suppressed $job"
@@ -169,7 +169,7 @@ arch_branch_filter_callback () {
         qemu-upstream-4.2-testing) return 1;;
         qemu-upstream-4.3-testing) return 1;;
         qemu-upstream-4.4-testing) return 1;;
-        rumpuserxen) return 1;;
+        rumprun) return 1;;
         seabios) return 1;;
         ovmf) return 1;;
         esac
@@ -197,11 +197,11 @@ do_rumpkernel_tests () {
   branch_wants_rumpkernel_tests || return 0
 
   rumparch=$dom0arch
-  job_create_test test-$xenarch$kern-$dom0arch-rumpuserxen-$rumparch \
-                      test-rumpuserxen xl \
+  job_create_test test-$xenarch$kern-$dom0arch-rumprun-$rumparch \
+                      test-rumprun xl \
             $xenarch $dom0arch                                       \
-            guests_rumpuserxenbuildjob=build-$rumparch-rumpuserxen   \
-     rump_builtimage=rumpuserxen:/usr/local/lib/xen/rump-kernel/rump-kernel \
+            guests_rumprunbuildjob=build-$rumparch-rumprun   \
+     rump_builtimage=rumprun:/usr/local/lib/xen/rump-kernel/rump-kernel \
             rump_cmdline=3                                           \
             xenstorels_builtimage=:/usr/local/bin/xenstore           \
             xenstorels_cmdline='ls -fp device'                       \
diff --git a/mfi-common b/mfi-common
index 971ded3..8f27923 100644
--- a/mfi-common
+++ b/mfi-common
@@ -269,24 +269,24 @@ create_build_jobs () {
 
     case $arch in
     i386|amd64)
-    job_create_build build-$arch-rumpuserxen build-rumpuserxen               \
+    job_create_build build-$arch-rumprun build-rumprun               \
                 arch=$arch                                                   \
         tree_xen=$TREE_XEN                                                   \
-                $RUNVARS $BUILD_RUNVARS $BUILD_RUMPUSERXEN_RUNVARS $arch_runvars \
+                $RUNVARS $BUILD_RUNVARS $BUILD_RUMPRUN_RUNVARS $arch_runvars \
                 $hostos_runvars                                              \
                 host_hostflags=$build_hostflags                              \
                 buildjob=${bfi}build-$arch                                   \
-                tree_rumpuserxen=$TREE_RUMPUSERXEN			\
-          ${TREEVCS_RUMPUSERXEN:+treevcs_rumpuserxen=}${TREEVCS_RUMPUSERXEN} \
-                revision_rumpuserxen=$REVISION_RUMPUSERXEN		\
+                tree_rumprun=$TREE_RUMPRUN			\
+          ${TREEVCS_RUMPRUN:+treevcs_rumprun=}${TREEVCS_RUMPRUN} \
+                revision_rumprun=$REVISION_RUMPRUN		\
                 tree_xen=$TREE_XEN                                           \
                 tree_qemuu=$TREE_QEMU_UPSTREAM                               \
                 revision_xen=$REVISION_XEN                                   \
                 revision_qemuu=$REVISION_QEMU_UPSTREAM                       \
-                tree_rumpuserxen_rumpsrc=$TREE_RUMPUSERXEN_RUMPSRC	\
-                ${TREEVCS_RUMPUSERXEN_RUMPSRC:+treevcs_rumpuserxen_rumpsrc=}${TREEVCS_RUMPUSERXEN_RUMPSRC}
+                tree_rumprun_rumpsrc=$TREE_RUMPRUN_RUMPSRC	\
+                ${TREEVCS_RUMPRUN_RUMPSRC:+treevcs_rumprun_rumpsrc=}${TREEVCS_RUMPRUN_RUMPSRC}
                 # rumpsrc-related runvars needed only for old rumpuser-xen
-                # (ie ones which need $bodges=1 in ts-rumpuserxen-build)
+                # (ie ones which need $bodges=1 in ts-rumprun-build)
 		;;
     esac
 
diff --git a/sg-run-job b/sg-run-job
index c49fb5f..31a5589 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -441,18 +441,18 @@ proc test-guest-nomigr {g} {
     run-ts . =   ts-guest-destroy + host $g
 }
 
-proc need-hosts/test-rumpuserxen {} { return host }
-proc run-job/test-rumpuserxen {} {
+proc need-hosts/test-rumprun {} { return host }
+proc run-job/test-rumprun {} {
     set g rump
-    run-ts . =   ts-rumpuserxen-demo-setup + host $g
+    run-ts . =   ts-rumprun-demo-setup + host $g
     run-ts . =   ts-guest-start            + host $g
     run-ts . =   ts-guest-destroy          + host $g
     set g xenstorels
-    run-ts . =   ts-rumpuserxen-demo-setup      + host + $g
-    run-ts . =   ts-rumpuserxen-demo-xenstorels + host + $g
+    run-ts . =   ts-rumprun-demo-setup      + host + $g
+    run-ts . =   ts-rumprun-demo-xenstorels + host + $g
     run-ts . =   ts-guest-destroy-hard          + host + $g
     repeat-ts 150 =.repeat \
-                 ts-rumpuserxen-demo-xenstorels + host + $g   + \; \
+                 ts-rumprun-demo-xenstorels + host + $g   + \; \
                  ts-guest-destroy-hard            host   $g   +
 }
 
@@ -465,7 +465,7 @@ if {[file exists sg-run-job-adhoc]} {
 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-rumprun {} { return BUILD }
 
 proc run-job/build {} {
     run-ts . = ts-xen-build
@@ -479,8 +479,8 @@ proc run-job/build-libvirt {} {
     run-ts . = ts-libvirt-build
 }
 
-proc run-job/build-rumpuserxen {} {
-    run-ts . = ts-rumpuserxen-build
+proc run-job/build-rumprun {} {
+    run-ts . = ts-rumprun-build
     run-ts . = ts-xen-build + host tools
 }
 
diff --git a/ts-rumprun-build b/ts-rumprun-build
new file mode 100755
index 0000000..574781f
--- /dev/null
+++ b/ts-rumprun-build
@@ -0,0 +1,126 @@
+#!/usr/bin/perl
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2009-2014 Citrix Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+use strict qw(vars);
+use DBI;
+use Osstest;
+use Osstest::TestSupport;
+use Osstest::BuildSupport;
+
+tsreadconfig();
+selectbuildhost(\@ARGV);
+builddirsprops();
+
+our %submodmap = qw(nblibs nblibs
+                    buildrump.sh buildrumpsh
+                    rumpsrc netbsdsrc);
+
+our ($rux, $bodges);
+
+sub checkout () {
+    prepbuilddirs();
+    xendist();
+
+    build_clone($ho, 'rumprun', $builddir, 'rumprun');
+    my $submodules =
+	submodulefixup($ho, 'rumprun', 'rumprun', \%submodmap);
+    $rux = "$builddir/rumprun";
+
+    $bodges = submodule_have($submodules,'nblibs')
+	  && !submodule_have($submodules,'netbsdsrc');
+
+    if ($bodges) {
+	my $rumpsrcgitrevr = "$rux/buildrump.sh/.srcgitrev";
+	my $rumpsrcgitrevl = "buildrump-srcgitrev";
+	my $rev = $r{revision_rumprun_rumpsrc};
+	if (length $rev) {
+	    target_putfilecontents_stash($ho,30,
+					 "$r{revision_rumprun_rumpsrc}\n",
+					 $rumpsrcgitrevr, $rumpsrcgitrevl);
+	} else {
+	    target_getfile($ho,30,$rumpsrcgitrevr,"$stash/$rumpsrcgitrevl");
+	    $rev = get_filecontents("$stash/$rumpsrcgitrevl");
+	    chomp $rev or die;
+	    $rev =~ m/^[0-9a-f]+$/ or die;
+	    store_runvar('revision_rumprun_rumpsrc', $rev);
+	}
+
+	build_clone($ho, "rumprun_rumpsrc", $builddir,
+		    "rumprun/rumpsrc");
+	store_vcs_revision('rumprun_rumpsrc', $rev, 'git');
+    }
+}
+
+sub massage() {
+    return unless $bodges;
+
+    # Very poor
+    target_editfile($ho, "$rux/buildxen.sh", undef,
+		    "$rux/grievous-bodge-nblibs", sub {
+        while (<EI>) {
+	    next unless m/^\Qif [ ! -d rumpsrc ]; then\E/..m/^fi/;
+	    next unless m/cp -Rp nblibs/;
+	    print EO or die $!;
+	}
+    });
+    target_cmd_build($ho, 2000, $rux, "bash -x grievous-bodge-nblibs");
+
+    # Rather poor
+    target_editfile($ho, "$rux/Config.mk", sub {
+        while (<EI>) {
+	    s/^XEN_HEADERS=/XEN_HEADERS?=/;
+	    print EO or die $!;
+	}
+    });
+}
+
+sub build() {
+    target_cmd_build($ho, 7200, $rux, <<END);
+        export XEN_HEADERS=$xendist/usr/local/include/xen
+        (./buildxen.sh && touch ../build-ok-stamp) |tee ../log
+        test -f ../build-ok-stamp #/
+        echo ok.
+END
+}
+
+sub recordtools() {
+    foreach my $stem (qw(rumprun-xen rumpxen-app)) {
+	my $apptool = "$rux/app-tools/$stem";
+	next unless target_file_exists($ho, "$apptool-configure");
+	store_runvar('cmdprefix_configure', "$apptool-configure");
+	store_runvar('cmdprefix_make',      "$apptool-make");
+	return;
+    }
+    die "app-tools not found ($rux)";
+}
+
+sub install() {
+    my $destdir="dist/usr/local/lib/xen/rump-kernel";
+    target_cmd_build($ho, 300, $builddir, <<END);
+        mkdir -p $destdir
+        cp rumprun/rump-kernel* $destdir
+        cp -r rumprun/img $destdir/
+        cp rumprun/domain_config $destdir
+END
+}
+
+checkout();
+massage();
+build();
+recordtools();
+install();
+built_stash($ho, $builddir, 'dist', 'rumprundist');
diff --git a/ts-rumprun-demo-setup b/ts-rumprun-demo-setup
new file mode 100755
index 0000000..655328f
--- /dev/null
+++ b/ts-rumprun-demo-setup
@@ -0,0 +1,92 @@
+#!/usr/bin/perl -w
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2009-2013 Citrix Inc.
+# 
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+use strict qw(vars);
+use DBI;
+use Osstest;
+use Osstest::TestSupport;
+
+tsreadconfig();
+
+our ($whhost,$gn) = @ARGV;
+$whhost ||= 'host';
+$gn ||= 'rump';
+
+our $ho= selecthost($whhost);
+
+our $gho;
+
+our $rkdist;
+
+sub prep () {
+    $gho = prepareguest($ho, $gn, $gn, 4096, undef, 30);
+
+    my $cfg_rkdist = target_extract_jobdistpath_subdir
+	($ho, 'rumprun--base', 'rumprun',
+	 $r{guests_rumprunbuildjob});
+    $cfg_rkdist .= '/usr/local/lib/xen/rump-kernel';
+
+    my $buildjob = guest_var($gho, 'rumprunbuildjob', undef);
+    my $builtimage = guest_var($gho, 'builtimage', undef);
+    $builtimage =~ m/\:/ or die "$builtimage ?";
+    my $builtimage_part = $`;
+    my $builtimage_subpath = $'; #';
+    $rkdist = target_extract_jobdistpath_subdir
+	($ho, "rumprun-$gn", $builtimage_part, $buildjob);
+    my $imagefile = $rkdist.$builtimage_subpath;
+    my $cmdline = guest_var($gho, 'cmdline', undef);
+
+    my @images;
+
+    my $fsimagesdir = target_jobdir($ho)."/$gn-images";
+
+    my $cfgfile = "$gn.cfg";
+    my $cfgpath = "/etc/xen/$cfgfile";
+    target_editfile_root($ho, "$cfg_rkdist/domain_config", $cfgfile, $cfgpath,
+			 sub {
+	while (<EI>) {
+	    next if m/^\s*\#/;
+	    next unless m/\S/;
+
+	    my $in = $& if m/^\w\S*/;
+
+	    s# = .*              # " = '$gn'"          #xe  if $in eq 'name';
+	    s# = .*              # " = '$imagefile'"   #xe  if $in eq 'kernel';
+	    s#\b mac=[0-9a-f:]+  # "mac=$gho->{Ether}" #xe  if $in eq 'vif';
+	    s# = .*              # " = '$cmdline'"     #xe  if $in eq 'extra';
+
+	    if ($in eq 'disk') {
+		s{\b img/(\w+.ffs) \b}{
+                    push @images, $1;
+                    "$fsimagesdir/$1";
+                }xeg;
+	    }
+
+	    print EO or die $!;
+	}
+    });
+
+    store_runvar("$gho->{Guest}_cfgpath", $cfgpath);
+
+    target_cmd($ho, <<END.(join "\n", map { <<END; } @images), 200);
+                   mkdir -p $fsimagesdir
+END
+                   cp $cfg_rkdist/img/$_ $fsimagesdir/$_
+END
+}
+
+prep();
diff --git a/ts-rumprun-demo-xenstorels b/ts-rumprun-demo-xenstorels
new file mode 100755
index 0000000..a54fbf4
--- /dev/null
+++ b/ts-rumprun-demo-xenstorels
@@ -0,0 +1,124 @@
+#!/usr/bin/perl -w
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2014 Citrix Inc.
+# 
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+use strict qw(vars);
+use DBI;
+use Osstest;
+use Osstest::TestSupport;
+use Data::Dumper;
+
+tsreadconfig();
+
+our ($ho,$gho) = ts_get_host_guest(@ARGV);
+
+our $domid;
+
+our $gn = $gho->{Guest};
+
+sub arrangepreserve () {
+    target_editfile_root($ho,$r{"$gho->{Guest}_cfgpath"}, sub {
+	while (<EI>) {
+	    if (m/^\s*on_poweroff\s*=/) {
+		target_editfile_cancel("already configured to preserve")
+		    if m/\bpreserve\b/;
+		next;
+	    }
+	    print EO or die $!;
+	}
+	print EO "\n","on_poweroff='preserve'\n" or die $!;
+    });
+}
+
+sub start () {
+    guest_create($gho);
+
+    $domid = guest_find_domid($ho, $gho);
+}
+
+sub await_end () {
+    poll_loop(30,3, "await ending of $gho->{Guest}", sub {
+        my $st= guest_get_state($ho,$gho);
+	return undef if $st =~ m/s/;
+        return "guest state is $st";
+    });
+}
+
+our (%file);
+our (%output);
+
+sub stash ($$) {
+    my ($data, $what) = @_;
+    my $leaf = "xenstore-ls-device--$gn--$what";
+    my $stashh = open_unique_stashfile(\$leaf);
+    print $stashh $data or die $!;
+    close $stashh or die $!;
+    $file{$what} = "$stash/$leaf";
+}
+
+sub some_xenstorels ($$$) {
+    my ($what, $massage, $cmd) = @_;
+    $output{$what} = target_cmd_output_root($ho,$cmd);
+    stash($output{$what}, "$what-raw");
+    $massage->();
+    $output{$what} = join "\n", sort split /\n/, $output{$what};
+    $output{$what} .= "\n";
+    stash($output{$what}, "$what-massaged");
+}
+
+sub our_xenstorels () {
+    some_xenstorels('ours', sub {
+	$output{ours} =~ s{^/local/domain/$domid/}{}gm;
+    }, <<END);
+        xenstore-ls -fp /local/domain/$domid/device
+END
+}
+
+sub their_xenstorels () {
+    some_xenstorels('theirs', sub {
+	$output{theirs} =~ s{\r\n}{\n}g;
+	while ($output{theirs} =~ m{\n=== calling main\(\) ===\n\n}) {
+	    $output{theirs} = $'; #';
+	}
+	$output{theirs} =~ m{\n=== main\(\) returned (\d+) ===\n} or die;
+	$output{theirs} = $`;
+	die "$1 ?" if $1 ne '0';
+	$output{theirs} =~ s{^STUB \`\`\w+'' called\n}{}mg;
+    }, <<END);
+        cat /var/log/xen/console/guest-$gn.log
+END
+}
+
+sub check_output () {
+    eval {
+	our_xenstorels();
+	their_xenstorels();
+	1;
+    };
+    if ($@) {
+	die Dumper(\%output)."$@";
+    }
+    if ($output{ours} ne $output{theirs}) {
+	system qw(diff -u), map { $file{"$_-massaged"} } qw(ours theirs);
+	die "$? COMPARISON FAILED";
+    }
+}
+
+arrangepreserve();
+start();
+await_end();
+check_output();
+logm("all good.");
diff --git a/ts-rumpuserxen-build b/ts-rumpuserxen-build
deleted file mode 100755
index 9e6580a..0000000
--- a/ts-rumpuserxen-build
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/perl
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2014 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-use Osstest;
-use Osstest::TestSupport;
-use Osstest::BuildSupport;
-
-tsreadconfig();
-selectbuildhost(\@ARGV);
-builddirsprops();
-
-our %submodmap = qw(nblibs nblibs
-                    buildrump.sh buildrumpsh
-                    rumpsrc netbsdsrc);
-
-our ($rux, $bodges);
-
-sub checkout () {
-    prepbuilddirs();
-    xendist();
-
-    build_clone($ho, 'rumpuserxen', $builddir, 'rumpuserxen');
-    my $submodules =
-	submodulefixup($ho, 'rumpuserxen', 'rumpuserxen', \%submodmap);
-    $rux = "$builddir/rumpuserxen";
-
-    $bodges = submodule_have($submodules,'nblibs')
-	  && !submodule_have($submodules,'netbsdsrc');
-
-    if ($bodges) {
-	my $rumpsrcgitrevr = "$rux/buildrump.sh/.srcgitrev";
-	my $rumpsrcgitrevl = "buildrump-srcgitrev";
-	my $rev = $r{revision_rumpuserxen_rumpsrc};
-	if (length $rev) {
-	    target_putfilecontents_stash($ho,30,
-					 "$r{revision_rumpuserxen_rumpsrc}\n",
-					 $rumpsrcgitrevr, $rumpsrcgitrevl);
-	} else {
-	    target_getfile($ho,30,$rumpsrcgitrevr,"$stash/$rumpsrcgitrevl");
-	    $rev = get_filecontents("$stash/$rumpsrcgitrevl");
-	    chomp $rev or die;
-	    $rev =~ m/^[0-9a-f]+$/ or die;
-	    store_runvar('revision_rumpuserxen_rumpsrc', $rev);
-	}
-
-	build_clone($ho, "rumpuserxen_rumpsrc", $builddir,
-		    "rumpuserxen/rumpsrc");
-	store_vcs_revision('rumpuserxen_rumpsrc', $rev, 'git');
-    }
-}
-
-sub massage() {
-    return unless $bodges;
-
-    # Very poor
-    target_editfile($ho, "$rux/buildxen.sh", undef,
-		    "$rux/grievous-bodge-nblibs", sub {
-        while (<EI>) {
-	    next unless m/^\Qif [ ! -d rumpsrc ]; then\E/..m/^fi/;
-	    next unless m/cp -Rp nblibs/;
-	    print EO or die $!;
-	}
-    });
-    target_cmd_build($ho, 2000, $rux, "bash -x grievous-bodge-nblibs");
-
-    # Rather poor
-    target_editfile($ho, "$rux/Config.mk", sub {
-        while (<EI>) {
-	    s/^XEN_HEADERS=/XEN_HEADERS?=/;
-	    print EO or die $!;
-	}
-    });
-}
-
-sub build() {
-    target_cmd_build($ho, 7200, $rux, <<END);
-        export XEN_HEADERS=$xendist/usr/local/include/xen
-        (./buildxen.sh && touch ../build-ok-stamp) |tee ../log
-        test -f ../build-ok-stamp #/
-        echo ok.
-END
-}
-
-sub recordtools() {
-    foreach my $stem (qw(rumprun-xen rumpxen-app)) {
-	my $apptool = "$rux/app-tools/$stem";
-	next unless target_file_exists($ho, "$apptool-configure");
-	store_runvar('cmdprefix_configure', "$apptool-configure");
-	store_runvar('cmdprefix_make',      "$apptool-make");
-	return;
-    }
-    die "app-tools not found ($rux)";
-}
-
-sub install() {
-    my $destdir="dist/usr/local/lib/xen/rump-kernel";
-    target_cmd_build($ho, 300, $builddir, <<END);
-        mkdir -p $destdir
-        cp rumpuserxen/rump-kernel* $destdir
-        cp -r rumpuserxen/img $destdir/
-        cp rumpuserxen/domain_config $destdir
-END
-}
-
-checkout();
-massage();
-build();
-recordtools();
-install();
-built_stash($ho, $builddir, 'dist', 'rumpuserxendist');
diff --git a/ts-rumpuserxen-demo-setup b/ts-rumpuserxen-demo-setup
deleted file mode 100755
index 04ed0b9..0000000
--- a/ts-rumpuserxen-demo-setup
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-use Osstest;
-use Osstest::TestSupport;
-
-tsreadconfig();
-
-our ($whhost,$gn) = @ARGV;
-$whhost ||= 'host';
-$gn ||= 'rump';
-
-our $ho= selecthost($whhost);
-
-our $gho;
-
-our $rkdist;
-
-sub prep () {
-    $gho = prepareguest($ho, $gn, $gn, 4096, undef, 30);
-
-    my $cfg_rkdist = target_extract_jobdistpath_subdir
-	($ho, 'rumpuserxen--base', 'rumpuserxen',
-	 $r{guests_rumpuserxenbuildjob});
-    $cfg_rkdist .= '/usr/local/lib/xen/rump-kernel';
-
-    my $buildjob = guest_var($gho, 'rumpuserxenbuildjob', undef);
-    my $builtimage = guest_var($gho, 'builtimage', undef);
-    $builtimage =~ m/\:/ or die "$builtimage ?";
-    my $builtimage_part = $`;
-    my $builtimage_subpath = $'; #';
-    $rkdist = target_extract_jobdistpath_subdir
-	($ho, "rumpuserxen-$gn", $builtimage_part, $buildjob);
-    my $imagefile = $rkdist.$builtimage_subpath;
-    my $cmdline = guest_var($gho, 'cmdline', undef);
-
-    my @images;
-
-    my $fsimagesdir = target_jobdir($ho)."/$gn-images";
-
-    my $cfgfile = "$gn.cfg";
-    my $cfgpath = "/etc/xen/$cfgfile";
-    target_editfile_root($ho, "$cfg_rkdist/domain_config", $cfgfile, $cfgpath,
-			 sub {
-	while (<EI>) {
-	    next if m/^\s*\#/;
-	    next unless m/\S/;
-
-	    my $in = $& if m/^\w\S*/;
-
-	    s# = .*              # " = '$gn'"          #xe  if $in eq 'name';
-	    s# = .*              # " = '$imagefile'"   #xe  if $in eq 'kernel';
-	    s#\b mac=[0-9a-f:]+  # "mac=$gho->{Ether}" #xe  if $in eq 'vif';
-	    s# = .*              # " = '$cmdline'"     #xe  if $in eq 'extra';
-
-	    if ($in eq 'disk') {
-		s{\b img/(\w+.ffs) \b}{
-                    push @images, $1;
-                    "$fsimagesdir/$1";
-                }xeg;
-	    }
-
-	    print EO or die $!;
-	}
-    });
-
-    store_runvar("$gho->{Guest}_cfgpath", $cfgpath);
-
-    target_cmd($ho, <<END.(join "\n", map { <<END; } @images), 200);
-                   mkdir -p $fsimagesdir
-END
-                   cp $cfg_rkdist/img/$_ $fsimagesdir/$_
-END
-}
-
-prep();
diff --git a/ts-rumpuserxen-demo-xenstorels b/ts-rumpuserxen-demo-xenstorels
deleted file mode 100755
index a54fbf4..0000000
--- a/ts-rumpuserxen-demo-xenstorels
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2014 Citrix Inc.
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-use Osstest;
-use Osstest::TestSupport;
-use Data::Dumper;
-
-tsreadconfig();
-
-our ($ho,$gho) = ts_get_host_guest(@ARGV);
-
-our $domid;
-
-our $gn = $gho->{Guest};
-
-sub arrangepreserve () {
-    target_editfile_root($ho,$r{"$gho->{Guest}_cfgpath"}, sub {
-	while (<EI>) {
-	    if (m/^\s*on_poweroff\s*=/) {
-		target_editfile_cancel("already configured to preserve")
-		    if m/\bpreserve\b/;
-		next;
-	    }
-	    print EO or die $!;
-	}
-	print EO "\n","on_poweroff='preserve'\n" or die $!;
-    });
-}
-
-sub start () {
-    guest_create($gho);
-
-    $domid = guest_find_domid($ho, $gho);
-}
-
-sub await_end () {
-    poll_loop(30,3, "await ending of $gho->{Guest}", sub {
-        my $st= guest_get_state($ho,$gho);
-	return undef if $st =~ m/s/;
-        return "guest state is $st";
-    });
-}
-
-our (%file);
-our (%output);
-
-sub stash ($$) {
-    my ($data, $what) = @_;
-    my $leaf = "xenstore-ls-device--$gn--$what";
-    my $stashh = open_unique_stashfile(\$leaf);
-    print $stashh $data or die $!;
-    close $stashh or die $!;
-    $file{$what} = "$stash/$leaf";
-}
-
-sub some_xenstorels ($$$) {
-    my ($what, $massage, $cmd) = @_;
-    $output{$what} = target_cmd_output_root($ho,$cmd);
-    stash($output{$what}, "$what-raw");
-    $massage->();
-    $output{$what} = join "\n", sort split /\n/, $output{$what};
-    $output{$what} .= "\n";
-    stash($output{$what}, "$what-massaged");
-}
-
-sub our_xenstorels () {
-    some_xenstorels('ours', sub {
-	$output{ours} =~ s{^/local/domain/$domid/}{}gm;
-    }, <<END);
-        xenstore-ls -fp /local/domain/$domid/device
-END
-}
-
-sub their_xenstorels () {
-    some_xenstorels('theirs', sub {
-	$output{theirs} =~ s{\r\n}{\n}g;
-	while ($output{theirs} =~ m{\n=== calling main\(\) ===\n\n}) {
-	    $output{theirs} = $'; #';
-	}
-	$output{theirs} =~ m{\n=== main\(\) returned (\d+) ===\n} or die;
-	$output{theirs} = $`;
-	die "$1 ?" if $1 ne '0';
-	$output{theirs} =~ s{^STUB \`\`\w+'' called\n}{}mg;
-    }, <<END);
-        cat /var/log/xen/console/guest-$gn.log
-END
-}
-
-sub check_output () {
-    eval {
-	our_xenstorels();
-	their_xenstorels();
-	1;
-    };
-    if ($@) {
-	die Dumper(\%output)."$@";
-    }
-    if ($output{ours} ne $output{theirs}) {
-	system qw(diff -u), map { $file{"$_-massaged"} } qw(ours theirs);
-	die "$? COMPARISON FAILED";
-    }
-}
-
-arrangepreserve();
-start();
-await_end();
-check_output();
-logm("all good.");
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 05/26] rumprun: Fetch source from new upstream
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (3 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 04/26] rumprun: Rename all `rumpuserxen' to `rumprun' Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 06/26] rumprun: Move xenbits tree to osstest subdir Ian Jackson
                   ` (20 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Also, update for the current set of submodules.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ap-common        | 2 +-
 ts-rumprun-build | 5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/ap-common b/ap-common
index 6fe3b78..14cc25a 100644
--- a/ap-common
+++ b/ap-common
@@ -37,7 +37,7 @@
 : ${PUSH_TREE_LIBVIRT:=$XENBITS:/home/xen/git/libvirt.git}
 : ${BASE_TREE_LIBVIRT:=git://xenbits.xen.org/libvirt.git}
 
-: ${TREE_RUMPRUN:=https://github.com/rumpkernel/rumprun-xen}
+: ${TREE_RUMPRUN:=http://repo.rumpkernel.org/rumprun}
 : ${TREEVCS_RUMPRUN:=git}
 : ${BASE_TREE_RUMPRUN:=git://xenbits.xen.org/rumpuser-xen.git}
 : ${PUSH_TREE_RUMPRUN:=$XENBITS:/home/xen/git/rumpuser-xen.git}
diff --git a/ts-rumprun-build b/ts-rumprun-build
index 574781f..abc1f7d 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -25,9 +25,8 @@ tsreadconfig();
 selectbuildhost(\@ARGV);
 builddirsprops();
 
-our %submodmap = qw(nblibs nblibs
-                    buildrump.sh buildrumpsh
-                    rumpsrc netbsdsrc);
+our %submodmap = qw(buildrump.sh buildrumpsh
+                    src-netbsd netbsdsrc);
 
 our ($rux, $bodges);
 
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 06/26] rumprun: Move xenbits tree to osstest subdir
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (4 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 05/26] rumprun: Fetch source from new upstream Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 07/26] rumprun: ts-rumprun-build: Remove $bodges Ian Jackson
                   ` (19 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Move our tested tree to /home/xen/git/osstest, where these kind of
things live nowadays.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ap-common | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ap-common b/ap-common
index 14cc25a..212da18 100644
--- a/ap-common
+++ b/ap-common
@@ -39,8 +39,8 @@
 
 : ${TREE_RUMPRUN:=http://repo.rumpkernel.org/rumprun}
 : ${TREEVCS_RUMPRUN:=git}
-: ${BASE_TREE_RUMPRUN:=git://xenbits.xen.org/rumpuser-xen.git}
-: ${PUSH_TREE_RUMPRUN:=$XENBITS:/home/xen/git/rumpuser-xen.git}
+: ${BASE_TREE_RUMPRUN:=git://xenbits.xen.org/osstest/rumprun.git}
+: ${PUSH_TREE_RUMPRUN:=$XENBITS:/home/xen/git/osstest/rumprun.git}
 
 : ${TREE_RUMPRUN_RUMPSRC:=$(besteffort_repo https://github.com/rumpkernel/rumpkernel-netbsd-src)}
 : ${TREEVCS_RUMPRUN_RUMPSRC:=git}
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 07/26] rumprun: ts-rumprun-build: Remove $bodges
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (5 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 06/26] rumprun: Move xenbits tree to osstest subdir Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 08/26] rumprun: ts-rumprun-build: Build new rumprun properly, ship the output Ian Jackson
                   ` (18 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

This is very obsolete.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ap-common        |  5 -----
 ts-rumprun-build | 46 +---------------------------------------------
 2 files changed, 1 insertion(+), 50 deletions(-)

diff --git a/ap-common b/ap-common
index 212da18..62d2e4f 100644
--- a/ap-common
+++ b/ap-common
@@ -42,11 +42,6 @@
 : ${BASE_TREE_RUMPRUN:=git://xenbits.xen.org/osstest/rumprun.git}
 : ${PUSH_TREE_RUMPRUN:=$XENBITS:/home/xen/git/osstest/rumprun.git}
 
-: ${TREE_RUMPRUN_RUMPSRC:=$(besteffort_repo https://github.com/rumpkernel/rumpkernel-netbsd-src)}
-: ${TREEVCS_RUMPRUN_RUMPSRC:=git}
-# rumpsrc-related runvars needed only for old rumpuser-xen
-# (ie ones which need $bodges=1 in ts-rumprun-build)
-
 : ${TREE_SEABIOS_UPSTREAM:=git://git.seabios.org/seabios.git}
 : ${PUSH_TREE_SEABIOS:=$XENBITS:/home/xen/git/osstest/seabios.git}
 : ${BASE_TREE_SEABIOS:=git://xenbits.xen.org/osstest/seabios.git}
diff --git a/ts-rumprun-build b/ts-rumprun-build
index abc1f7d..55420f0 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -28,7 +28,7 @@ builddirsprops();
 our %submodmap = qw(buildrump.sh buildrumpsh
                     src-netbsd netbsdsrc);
 
-our ($rux, $bodges);
+our ($rux);
 
 sub checkout () {
     prepbuilddirs();
@@ -38,53 +38,9 @@ sub checkout () {
     my $submodules =
 	submodulefixup($ho, 'rumprun', 'rumprun', \%submodmap);
     $rux = "$builddir/rumprun";
-
-    $bodges = submodule_have($submodules,'nblibs')
-	  && !submodule_have($submodules,'netbsdsrc');
-
-    if ($bodges) {
-	my $rumpsrcgitrevr = "$rux/buildrump.sh/.srcgitrev";
-	my $rumpsrcgitrevl = "buildrump-srcgitrev";
-	my $rev = $r{revision_rumprun_rumpsrc};
-	if (length $rev) {
-	    target_putfilecontents_stash($ho,30,
-					 "$r{revision_rumprun_rumpsrc}\n",
-					 $rumpsrcgitrevr, $rumpsrcgitrevl);
-	} else {
-	    target_getfile($ho,30,$rumpsrcgitrevr,"$stash/$rumpsrcgitrevl");
-	    $rev = get_filecontents("$stash/$rumpsrcgitrevl");
-	    chomp $rev or die;
-	    $rev =~ m/^[0-9a-f]+$/ or die;
-	    store_runvar('revision_rumprun_rumpsrc', $rev);
-	}
-
-	build_clone($ho, "rumprun_rumpsrc", $builddir,
-		    "rumprun/rumpsrc");
-	store_vcs_revision('rumprun_rumpsrc', $rev, 'git');
-    }
 }
 
 sub massage() {
-    return unless $bodges;
-
-    # Very poor
-    target_editfile($ho, "$rux/buildxen.sh", undef,
-		    "$rux/grievous-bodge-nblibs", sub {
-        while (<EI>) {
-	    next unless m/^\Qif [ ! -d rumpsrc ]; then\E/..m/^fi/;
-	    next unless m/cp -Rp nblibs/;
-	    print EO or die $!;
-	}
-    });
-    target_cmd_build($ho, 2000, $rux, "bash -x grievous-bodge-nblibs");
-
-    # Rather poor
-    target_editfile($ho, "$rux/Config.mk", sub {
-        while (<EI>) {
-	    s/^XEN_HEADERS=/XEN_HEADERS?=/;
-	    print EO or die $!;
-	}
-    });
 }
 
 sub build() {
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 08/26] rumprun: ts-rumprun-build: Build new rumprun properly, ship the output
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (6 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 07/26] rumprun: ts-rumprun-build: Remove $bodges Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 09/26] rumprun: ts-rumprun-build: Adjust command prefixes for new rumprun Ian Jackson
                   ` (17 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

The command is `build-rr.sh' nowadays.  The output longer includes
test domain image and configuration.  The output is in `rumprun'.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-build | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/ts-rumprun-build b/ts-rumprun-build
index 55420f0..93c34d1 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -46,7 +46,7 @@ sub massage() {
 sub build() {
     target_cmd_build($ho, 7200, $rux, <<END);
         export XEN_HEADERS=$xendist/usr/local/include/xen
-        (./buildxen.sh && touch ../build-ok-stamp) |tee ../log
+        (./build-rr.sh xen && touch ../build-ok-stamp) |tee ../log
         test -f ../build-ok-stamp #/
         echo ok.
 END
@@ -64,13 +64,6 @@ sub recordtools() {
 }
 
 sub install() {
-    my $destdir="dist/usr/local/lib/xen/rump-kernel";
-    target_cmd_build($ho, 300, $builddir, <<END);
-        mkdir -p $destdir
-        cp rumprun/rump-kernel* $destdir
-        cp -r rumprun/img $destdir/
-        cp rumprun/domain_config $destdir
-END
 }
 
 checkout();
@@ -78,4 +71,4 @@ massage();
 build();
 recordtools();
 install();
-built_stash($ho, $builddir, 'dist', 'rumprundist');
+built_stash($ho, $builddir, 'rumprun', 'rumprundist');
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 09/26] rumprun: ts-rumprun-build: Adjust command prefixes for new rumprun
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (7 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 08/26] rumprun: ts-rumprun-build: Build new rumprun properly, ship the output Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 10/26] ts-xen-build: Separate out kconfig from main build step Ian Jackson
                   ` (16 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Nowadays the expected use pattern is
   CC=<...rumprun...>-gcc ./configure
etc.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-build | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/ts-rumprun-build b/ts-rumprun-build
index 93c34d1..cb91d5c 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -53,14 +53,12 @@ END
 }
 
 sub recordtools() {
-    foreach my $stem (qw(rumprun-xen rumpxen-app)) {
-	my $apptool = "$rux/app-tools/$stem";
-	next unless target_file_exists($ho, "$apptool-configure");
-	store_runvar('cmdprefix_configure', "$apptool-configure");
-	store_runvar('cmdprefix_make',      "$apptool-make");
-	return;
-    }
-    die "app-tools not found ($rux)";
+    my $gcc = target_cmd_output($ho, "echo $rux/bin/*-gcc");
+    chomp $gcc;
+    die "$gcc ?" if $gcc =~ m/\S/;
+    my $prefix = "CC=$gcc ";
+    store_runvar('cmdprefix_configure', $prefix);
+    store_runvar('cmdprefix_make',      $prefix);
 }
 
 sub install() {
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 10/26] ts-xen-build: Separate out kconfig from main build step
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (8 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 09/26] rumprun: ts-rumprun-build: Adjust command prefixes for new rumprun Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 11/26] ts-xen-build: Support $r{cmdsuffix_configure} Ian Jackson
                   ` (15 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-xen-build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/ts-xen-build b/ts-xen-build
index 5933dd4..60ce9ee 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -125,10 +125,14 @@ END
             fi
 END
 #/;
-    buildcmd_stamped_logged(9000, 'build', '',<<END,'');
+
+    buildcmd_stamped_logged(600, 'kconfig', '',<<END,'');
             if test -f xen/Kconfig; then
                 $make_prefix make -C xen olddefconfig
             fi
+END
+
+    buildcmd_stamped_logged(9000, 'build', '',<<END,'');
             $make_prefix make $makeflags @ARGV
 END
 
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 11/26] ts-xen-build: Support $r{cmdsuffix_configure}
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (9 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 10/26] ts-xen-build: Separate out kconfig from main build step Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 12/26] ts-xen-build: Support --no-kconfig Ian Jackson
                   ` (14 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Nothing sets this yet, so no functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-xen-build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ts-xen-build b/ts-xen-build
index 60ce9ee..4f06419 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -109,6 +109,7 @@ sub build () {
     my $ovmf_opt= $r{enable_ovmf} =~ m/true/ ? "--enable-ovmf" : "--disable-ovmf";
 
     my $configure_prefix = $r{cmdprefix_configure} // '';
+    my $configure_suffix = $r{cmdsuffix_configure} // '';
     my $make_prefix =      $r{cmdprefix_make}      // '';
 
     buildcmd_stamped_logged(600, 'configure', <<END,<<END,<<END);
@@ -120,7 +121,7 @@ sub build () {
                     ovmf=$ovmf_opt
                 fi
 END
-               $configure_prefix ./configure --sysconfdir=/etc \$xend \$ovmf
+               $configure_prefix ./configure --sysconfdir=/etc \$xend \$ovmf $configure_suffix
 END
             fi
 END
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 12/26] ts-xen-build: Support --no-kconfig
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (10 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 11/26] ts-xen-build: Support $r{cmdsuffix_configure} Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 13/26] rumprun: ts-rumprun-build: Update for new rumprun bin location Ian Jackson
                   ` (13 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Nothing passes this yet, so no functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-xen-build | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/ts-xen-build b/ts-xen-build
index 4f06419..f5cff8b 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -25,7 +25,20 @@ use Osstest::BuildSupport;
 
 tsreadconfig();
 selectbuildhost(\@ARGV);
+
+our $dokconfig = 1;
+
+while (@ARGV && $ARGV[0] =~ m/^-/) {
+    $_ = shift @ARGV;
+    last if m/^--$/;
+    if (m/^--no-kconfig$/) {
+	$dokconfig = 0;
+    } else {
+	die "$_ ?";
+    }
+}
 # remaining arguments are passed as targets to "make"
+
 builddirsprops();
 
 my $enable_xsm = ($r{enable_xsm}//'false') =~ m/true/ ? 1 : 0;
@@ -127,7 +140,7 @@ END
 END
 #/;
 
-    buildcmd_stamped_logged(600, 'kconfig', '',<<END,'');
+    buildcmd_stamped_logged(600, 'kconfig', '',<<END,'') if $dokconfig;
             if test -f xen/Kconfig; then
                 $make_prefix make -C xen olddefconfig
             fi
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 13/26] rumprun: ts-rumprun-build: Update for new rumprun bin location
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (11 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 12/26] ts-xen-build: Support --no-kconfig Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 14/26] rumprun: ts-rumprun-build: Update for newer Xen Ian Jackson
                   ` (12 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

The compiler wrappers are in a different location in the new rumprun
build tree.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ts-rumprun-build b/ts-rumprun-build
index cb91d5c..7184f9d 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -53,7 +53,7 @@ END
 }
 
 sub recordtools() {
-    my $gcc = target_cmd_output($ho, "echo $rux/bin/*-gcc");
+    my $gcc = target_cmd_output($ho, "echo $rux/rumprun/bin/*-gcc");
     chomp $gcc;
     die "$gcc ?" if $gcc =~ m/\S/;
     my $prefix = "CC=$gcc ";
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 14/26] rumprun: ts-rumprun-build: Update for newer Xen
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (12 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 13/26] rumprun: ts-rumprun-build: Update for new rumprun bin location Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 15/26] rumprun: Drop old rumpuserxen demo Ian Jackson
                   ` (11 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Newer Xen needs more work to make it cross compile for rump.

* Pass --host=TARGET to configure.  This is needed so that configure
  knows that we are deliberately cross compiling.  (Otherwise it
  tries to run target binaries on the host, and crashes when that fails.)

* Pass CROSS_COMPILE in the environment.  This arranges for the Xen
  Makefiles to run the right compiler, ie $(CROSS_COMPILE)-gcc.

* Put the rump compiler directory on PATH, so that the Xen Makefiles
  can find it.

* Pass HOSTCC=gcc in the environment; otherwise it tries to use the
  default CC (which is $(CROSS_COMPILE)gcc), when building
  build-system-internal tools which are to be run on the host as part
  of the build.

  The need for this could be avoided by setting XEN_TARGET_ARCH to the
  rump architecture, but then we would have to provide a Xen arch
  config file for that architecture, which would be meaningless since
  we are not actually building a hypervisor, and would have to contain
  various dummy information.

NB in this commit message I use Xen terminology for cross arch names:

 Xen          GCC/GNU        Meaning                   Example for
 terminology  terminology                              rump cross build

 host         build          Native architecture of     i586-linux-gnu
                             the environment in which
			     we are running the build.

 target       host           Foreign architecture on    i486-rumprun-netbsdelf
                             which the objects etc.
			     which we are now building
			     will eventually be run.

 n/a          target         Used only when building a "Canadian"
	                     cross compiler: the 2nd foreign
			     architecture for which the compiler which
			     we are now building (on the `build(gnu)'
			     arch) will, when we run it, produce
			     binaries (when it is run on the
			     `host(gnu)' arch).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-build | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/ts-rumprun-build b/ts-rumprun-build
index 7184f9d..98c8efc 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -55,10 +55,17 @@ END
 sub recordtools() {
     my $gcc = target_cmd_output($ho, "echo $rux/rumprun/bin/*-gcc");
     chomp $gcc;
-    die "$gcc ?" if $gcc =~ m/\S/;
-    my $prefix = "CC=$gcc ";
+    die "$gcc ?" unless $gcc =~ m#^(\S+)/([^/ \t]+)-g?cc$#;
+    my $bindir = $1;
+    my $gnutriplet = $2;
+    my $prefix = "PATH=$bindir:\$PATH ";
+    $prefix .= "CROSS_COMPILE=$gnutriplet- HOSTCC=gcc ";
     store_runvar('cmdprefix_configure', $prefix);
     store_runvar('cmdprefix_make',      $prefix);
+    store_runvar('cmdsuffix_configure', " --host=$gnutriplet");
+    # "host" is daft GCC/GNU terminology for the target architecture of
+    # a cross-compile, ie in our case the rump environemnt architecture
+    # for which the rump compilers are going to generate code.
 }
 
 sub install() {
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 15/26] rumprun: Drop old rumpuserxen demo
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (13 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 14/26] rumprun: ts-rumprun-build: Update for newer Xen Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 16/26] rumprun: Do not run xen/Kconfig Ian Jackson
                   ` (10 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

The WOPR demo is gone from rumpkernel upstream.

Sadly this leaves us without a test that the rump environment's
networking is functional.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 sg-run-job | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/sg-run-job b/sg-run-job
index 31a5589..0c7835e 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -443,10 +443,6 @@ proc test-guest-nomigr {g} {
 
 proc need-hosts/test-rumprun {} { return host }
 proc run-job/test-rumprun {} {
-    set g rump
-    run-ts . =   ts-rumprun-demo-setup + host $g
-    run-ts . =   ts-guest-start            + host $g
-    run-ts . =   ts-guest-destroy          + host $g
     set g xenstorels
     run-ts . =   ts-rumprun-demo-setup      + host + $g
     run-ts . =   ts-rumprun-demo-xenstorels + host + $g
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 16/26] rumprun: Do not run xen/Kconfig
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (14 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 15/26] rumprun: Drop old rumpuserxen demo Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 17/26] rumprun: Break out findtools Ian Jackson
                   ` (9 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

We aren't going to cross-build a Xen hypervisor for the rump
environment.  So don't configure it.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 sg-run-job | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sg-run-job b/sg-run-job
index 0c7835e..eb3df26 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -477,7 +477,7 @@ proc run-job/build-libvirt {} {
 
 proc run-job/build-rumprun {} {
     run-ts . = ts-rumprun-build
-    run-ts . = ts-xen-build + host tools
+    run-ts . = ts-xen-build + host --no-kconfig tools
 }
 
 proc prepare-build-host {} {
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 17/26] rumprun: Break out findtools
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (15 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 16/26] rumprun: Do not run xen/Kconfig Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 18/26] rumprun: ts-rumprun-build: set up ccache Ian Jackson
                   ` (8 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

This makes room for setting up ccache.

No functional change yet.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-build | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/ts-rumprun-build b/ts-rumprun-build
index 98c8efc..24e54e1 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -52,12 +52,18 @@ sub build() {
 END
 }
 
-sub recordtools() {
+my $bindir;
+my $gnutriplet;
+
+sub findtools() {
     my $gcc = target_cmd_output($ho, "echo $rux/rumprun/bin/*-gcc");
     chomp $gcc;
     die "$gcc ?" unless $gcc =~ m#^(\S+)/([^/ \t]+)-g?cc$#;
-    my $bindir = $1;
-    my $gnutriplet = $2;
+    $bindir = $1;
+    $gnutriplet = $2;
+}
+
+sub recordtools() {
     my $prefix = "PATH=$bindir:\$PATH ";
     $prefix .= "CROSS_COMPILE=$gnutriplet- HOSTCC=gcc ";
     store_runvar('cmdprefix_configure', $prefix);
@@ -74,6 +80,7 @@ sub install() {
 checkout();
 massage();
 build();
+findtools();
 recordtools();
 install();
 built_stash($ho, $builddir, 'rumprun', 'rumprundist');
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 18/26] rumprun: ts-rumprun-build: set up ccache
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (16 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 17/26] rumprun: Break out findtools Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 19/26] Xen built versions: Move list of subtrees to BuildSupport Ian Jackson
                   ` (7 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-build | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/ts-rumprun-build b/ts-rumprun-build
index 24e54e1..26f2f2c 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -54,6 +54,7 @@ END
 
 my $bindir;
 my $gnutriplet;
+my $ccachedir;
 
 sub findtools() {
     my $gcc = target_cmd_output($ho, "echo $rux/rumprun/bin/*-gcc");
@@ -63,8 +64,19 @@ sub findtools() {
     $gnutriplet = $2;
 }
 
+sub setupccache() {
+    $ccachedir = "$bindir.ccache";
+    target_cmd_build($ho, 600, $rux, <<END);
+        mkdir $ccachedir
+        ccache=\$(type -p ccache)
+        for f in $bindir/$gnutriplet-*; do
+            ln -s \$ccache $ccachedir/\${f##*/}
+        done
+END
+}
+
 sub recordtools() {
-    my $prefix = "PATH=$bindir:\$PATH ";
+    my $prefix = "PATH=$ccachedir:$bindir:\$PATH ";
     $prefix .= "CROSS_COMPILE=$gnutriplet- HOSTCC=gcc ";
     store_runvar('cmdprefix_configure', $prefix);
     store_runvar('cmdprefix_make',      $prefix);
@@ -81,6 +93,7 @@ checkout();
 massage();
 build();
 findtools();
+setupccache();
 recordtools();
 install();
 built_stash($ho, $builddir, 'rumprun', 'rumprundist');
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 19/26] Xen built versions: Move list of subtrees to BuildSupport
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (17 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 18/26] rumprun: ts-rumprun-build: set up ccache Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 20/26] Xen built versions: ts-xen-build: check versions of Xen subtrees, only Ian Jackson
                   ` (6 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Turn the adhoc list of tree names and subdirectories in
collect_xen_built_versions into a hash, which we iterate over.

Doing this in a data-driven way allows us to provide this information
to callers of collect_xen_built_versions, which is going to be helpful
in a moment.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/BuildSupport.pm | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/Osstest/BuildSupport.pm b/Osstest/BuildSupport.pm
index a183546..d59eace 100644
--- a/Osstest/BuildSupport.pm
+++ b/Osstest/BuildSupport.pm
@@ -42,7 +42,7 @@ BEGIN {
 
                       xendist
                       $xendist
-                      collect_xen_built_versions
+                      collect_xen_built_versions %xensubtrees
 
                       submodulefixup submodule_have submodule_find
 
@@ -85,15 +85,21 @@ sub xendist () {
 	($ho, 'xendist', '', $r{"buildjob"});
 }
 
+our %xensubtrees = qw(
+    qemu	tools/ioemu-dir
+    qemu	tools/qemu-xen-traditional-dir
+    qemuu	tools/qemu-xen-dir
+    seabios	tools/firmware/seabios-dir
+    ovmf	tools/firmware/ovmf-dir
+    minios	extras/mini-os
+    );
+
 sub collect_xen_built_versions () {
-    my $tools="$builddir/xen/tools";
-    my $extras="$builddir/xen/extras";
-    store_revision($ho, 'qemu', "$tools/ioemu-dir", 1);
-    store_revision($ho, 'qemu', "$tools/qemu-xen-traditional-dir", 1);
-    store_revision($ho, 'qemuu', "$tools/qemu-xen-dir", 1);
-    store_revision($ho, 'seabios', "$tools/firmware/seabios-dir", 1);
-    store_revision($ho, 'ovmf', "$tools/firmware/ovmf-dir", 1);
-    store_revision($ho, 'minios', "$extras/mini-os", 1);
+    my $xendir = "$builddir/xen";
+    foreach my $subtree (sort keys %xensubtrees) {
+	my $subdir = $xendir.'/'.$xensubtrees{$subtree};
+	store_revision($ho, $subtree, "$subdir", 1);
+    }
 }
 
 #----- submodules -----
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 20/26] Xen built versions: ts-xen-build: check versions of Xen subtrees, only
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (18 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 19/26] Xen built versions: Move list of subtrees to BuildSupport Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 21/26] rumprun: Do not stash whole build tree Ian Jackson
                   ` (5 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

ts-xen-build has a check that the actually-built versions of the
various subtrees are right.  This allows it to spot if the machinery
for specifying the subtree revision hasn't worked.

However, this machinery is troublesome: it assumes that the value
specified in the revision_TREE runvar is a commit id, just like the
value specified in built_revision_TREE.  This is, currently, true in
flights created by cr-daily-branch and cs-try-bisect.

But it is not necessarily true for flights created other ways.  In
principle it would be possible to look into each checked out subtree,
and use git-rev-parse (and its equivalent for nother VCSs) to check
whether the specified revision is right (by comparing it to
origin/<revision_TREE>, not <revision_TREE>, I guess).  This is quite
fiddly.

The reason this is causing trouble now is that some of the ad-hoc rump
kernel flights I'm currently making contain non-git-revison-id values
for the revision_TREE for parts of the rumprun build.

So for now, limiting this check to TREEs which are actually Xen
subtrees will fix the problem for me (and this will be necessary for
the fuller fix, which I describe above).  So do that.

Specifically:
 * Add a new WHERE clause to the query statement, so that it selects
   only the row for one specific tree
 * Run the query once for each tree in %xensubtrees

This leaves the query overly-complicated, but this doesn't matter,
because if and when we make a fuller fix we'll throw this entire query
away.  So it is easier to put off rewriting it in the hope that this
will never been needed.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-xen-build | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/ts-xen-build b/ts-xen-build
index f5cff8b..cc171ef 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -217,10 +217,13 @@ sub checkversions () {
          WHERE reqd.flight=? and reqd.job=?
            AND built.flight=? and built.job=?
            AND built.name = 'built_' || reqd.name
+           AND reqd.name = ?
 END
-    $chk->execute($flight,$job,$flight,$job);
     my $mismatches= 0;
-    while (my $row= $chk->fetchrow_arrayref()) {
+    foreach my $subtree (sort keys %xensubtrees) {
+	$chk->execute($flight,$job,$flight,$job,$subtree);
+	my $row= $chk->fetchrow_arrayref();
+	next unless $row;
         my ($tree, $reqd, $built) = @$row;
         next unless defined $reqd && defined $built;
         $reqd =~ s/^.*://;
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 21/26] rumprun: Do not stash whole build tree
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (19 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 20/26] Xen built versions: ts-xen-build: check versions of Xen subtrees, only Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 22/26] TestSupport: guest_prepare_disk: cope with no disk Ian Jackson
                   ` (4 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Build steps all need the whole build tree in the same location, so
have to be part of this job.

Test jobs need only rumprun.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ts-rumprun-build b/ts-rumprun-build
index 26f2f2c..1913f29 100755
--- a/ts-rumprun-build
+++ b/ts-rumprun-build
@@ -96,4 +96,4 @@ findtools();
 setupccache();
 recordtools();
 install();
-built_stash($ho, $builddir, 'rumprun', 'rumprundist');
+built_stash($ho, $builddir, 'rumprun/rumprun/bin', 'rumprundist');
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 22/26] TestSupport: guest_prepare_disk: cope with no disk
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (20 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 21/26] rumprun: Do not stash whole build tree Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 23/26] rumprun: `rumpbake' our executables and run them with `rumprun' Ian Jackson
                   ` (3 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

If the guest has no runvars specifying any kind of disk, do not
attempt to mess about with unmounting it etc.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/TestSupport.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index a6ab18f..7eb7bc4 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -1580,7 +1580,7 @@ sub guest_prepare_disk ($) {
 
     guest_umount_lv($gho->{Host}, $gho);
 
-    return if $gho->{Diskfmt} eq "none";
+    return if ($gho->{Diskfmt} // 'none') eq "none";
 
     target_cmd_root($gho->{Host}, <<END);
 mkdir -p $gho->{Diskmnt}
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 23/26] rumprun: `rumpbake' our executables and run them with `rumprun'
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (21 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 22/26] TestSupport: guest_prepare_disk: cope with no disk Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 24/26] rumprun: xenstorels: Do not attempt to edit the config file Ian Jackson
                   ` (2 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

(Well, our one executable: xenstore-ls)

Modern rumprun requires the output of the linker to be `baked' (second
link phase, where the complete unikernel is assembled).

This has to be done as part of the build, because it needs all the
rumpkernel libraries.  It generates a single image file - there is no
longer any disk image or config file produced by the rump ecosystem.

The baked file needs to be provided in a dist.  We have
ts-rumprun-bake take command line argument specifying which things to
bake.  It reads the runvars for the source executables and creates a
single dist output containing the images.  There are now `executables'
and `images'.

Furthermore modern rumprun requires the image to be run with
`rumprun'.  One underlying reason is that it wants to pass the command
line and some other config parameters to the guest via xenstore, in
/local/domain/GUEST/rumprun/cfg.  To do this outside xl requires the
domain to be created paused.  Another is to abstract away details of
the actual execution environment (compared to other unikernel
execution models).

rumprun has a mode (-D -T) in which it would be possible to fish the
configuration and the desired json object (for the cfg) out of the
tempfile it creates.  It might also be possible for osstest to
construct these out of whole cloth.

However, this would be undesirable because it would break if rumprun
changed (in particular, if the interface to the domain creation
changed).

And because of the cfg wrinkle it still wouldn't let us construct a
domain config file which could be passed to
toolstack($ho)->guest_create.

So instead we invent Osstest::Rumprun::rumprun_guest_create, which
invokes rumprun.  rumprun implicitly invokes xl.

The config editing which was previously done by ts-rumprun-demo-setup
is now done by passing appropriate options to rumprun.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/RumpRun.pm         | 67 ++++++++++++++++++++++++++++++++++
 make-flight                |  2 +-
 sg-run-job                 |  2 ++
 ts-rumprun-bake            | 89 ++++++++++++++++++++++++++++++++++++++++++++++
 ts-rumprun-demo-setup      | 52 ++++-----------------------
 ts-rumprun-demo-xenstorels |  3 +-
 6 files changed, 167 insertions(+), 48 deletions(-)
 create mode 100644 Osstest/RumpRun.pm
 create mode 100755 ts-rumprun-bake

diff --git a/Osstest/RumpRun.pm b/Osstest/RumpRun.pm
new file mode 100644
index 0000000..0582bd2
--- /dev/null
+++ b/Osstest/RumpRun.pm
@@ -0,0 +1,67 @@
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2009-2013 Citrix Inc.
+# 
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+package Osstest::RumpRun;
+
+use strict;
+use warnings;
+
+use Osstest::TestSupport;
+
+BEGIN {
+    use Exporter ();
+    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+    $VERSION     = 1.00;
+    @ISA         = qw(Exporter);
+    @EXPORT      = qw(
+		      rumprun_guest_create
+		    );
+    %EXPORT_TAGS = ( );
+
+    @EXPORT_OK   = qw();
+}
+
+sub rumprun_guest_create ($) {
+    my ($gho) = @_;
+    my $ho = $gho->{Host};
+    my $gn = $gho->{Guest};
+    guest_prepare_disk($gho);
+
+    my $rumprun = target_var($gho, 'rumprun_path');
+    if (!$rumprun) {
+	logm("finding rumprun to use for $gho->{Name} on $ho->{Name}");
+	my $buildjob = $r{guests_rumprunbuildjob} // # todo: eliminate this
+	    target_var($gho, 'rumprunbuildjob');
+	my $rumprundist = target_extract_jobdistpath_subdir
+	    ($ho, "rumprun-rumprun-g-$gho->{Name}", "rumprun", $buildjob);
+	$rumprun = "$rumprundist/rumprun";
+	store_runvar("${gn}_rumprun_path", $rumprun);
+    }
+
+    my $imagepath = $r{"${gn}_imagepath"};
+    my $cmdline = guest_var($gho, 'cmdline', undef);
+
+    my $cmd = "$rumprun xen";
+    $cmd .= " -N $gn";
+    $cmd .= " -IIFTAG,IFBASENAME,mac=$gho->{Ether}";
+    $cmd .= " $imagepath";
+    $cmd .= " $cmdline";
+
+    target_cmd_root($ho, $cmd, 100);
+}
+
+1;
diff --git a/make-flight b/make-flight
index 906bf2b..c94dfa4 100755
--- a/make-flight
+++ b/make-flight
@@ -203,7 +203,7 @@ do_rumpkernel_tests () {
             guests_rumprunbuildjob=build-$rumparch-rumprun   \
      rump_builtimage=rumprun:/usr/local/lib/xen/rump-kernel/rump-kernel \
             rump_cmdline=3                                           \
-            xenstorels_builtimage=:/usr/local/bin/xenstore           \
+            xenstorels_builtimage=rumpimages:xenstorels              \
             xenstorels_cmdline='ls -fp device'                       \
             all_hostflags=$most_hostflags
 }
diff --git a/sg-run-job b/sg-run-job
index eb3df26..6d455c7 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -478,6 +478,8 @@ proc run-job/build-libvirt {} {
 proc run-job/build-rumprun {} {
     run-ts . = ts-rumprun-build
     run-ts . = ts-xen-build + host --no-kconfig tools
+    run-ts . = ts-rumprun-bake + host \
+        xenstorels ::/usr/local/bin/xenstore-ls
 }
 
 proc prepare-build-host {} {
diff --git a/ts-rumprun-bake b/ts-rumprun-bake
new file mode 100755
index 0000000..d79d6f8
--- /dev/null
+++ b/ts-rumprun-bake
@@ -0,0 +1,89 @@
+#!/usr/bin/perl -w
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2009-2013 Citrix Inc.
+# 
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# ts-rumprun-bake HOST IMAGENAME [JOB]:DIST:SUBPATH [IMAGENAME ... [... ...]]
+#
+# Generates a dist stash `rumpimages' containg files IMAGENAME
+# From the specified files
+
+use strict qw(vars);
+use DBI;
+use Osstest;
+use Osstest::TestSupport;
+use Osstest::BuildSupport;
+
+tsreadconfig();
+
+our ($whhost,$gn) = @ARGV;
+selectbuildhost(\@ARGV);
+
+
+
+our %images;
+
+our $jobdir = target_jobdir($ho);
+our $imagesdir = $jobdir.'/rumpbake-images';
+our $rumpbake = $jobdir.'/rumprun/rumprun/bin/rumprun-bake';
+
+target_cmd($ho, "mkdir -p $imagesdir");
+
+sub bakeimage ($$) {
+    my ($name,$spec) = @_;
+    
+    $spec =~ m/^(.*?)\:(.*?)\:/ or die "$spec ?";
+    my $buildjob = $1;
+    my $execpart = $2;
+    my $execpath = $';
+
+    logm("baking rump image $name from $spec");
+
+#    my $rumpbake = target_extract_jobdistpath_subdir
+#	($ho, 'rumpbake-base', 'rumprun', $r{guests_rumprunbuildjob});
+#    $rumpbake = "$rumpbake/rumpbake";
+
+    my $execdist;
+    eval {
+	$execdist = target_extract_jobdistpath_subdir
+	    ($ho, "rumpbake-n-$name", $execpart, $buildjob || $job);
+    };
+    if ($@) {
+	warn "skipping: $@";
+	return;
+    }
+    my $execfile = $execdist.$execpath;
+
+    target_cmd_build($ho, 1000, $imagesdir, <<END);
+        if test -f $execfile; then
+            $rumpbake xen_pv $name $execfile
+        fi
+END
+}
+
+sub stash () {
+    built_stash($ho, "$jobdir", "rumpbake-images", "rumpimagesdist");
+}
+
+while (@ARGV) {
+    die unless @ARGV>=2;
+    my $name = shift @ARGV;
+    my $rumpexec = shift @ARGV;
+    eval {
+	bakeimage($name,$rumpexec);
+    };
+}
+
+stash();
diff --git a/ts-rumprun-demo-setup b/ts-rumprun-demo-setup
index 655328f..212d758 100755
--- a/ts-rumprun-demo-setup
+++ b/ts-rumprun-demo-setup
@@ -35,58 +35,18 @@ our $rkdist;
 sub prep () {
     $gho = prepareguest($ho, $gn, $gn, 4096, undef, 30);
 
-    my $cfg_rkdist = target_extract_jobdistpath_subdir
-	($ho, 'rumprun--base', 'rumprun',
-	 $r{guests_rumprunbuildjob});
-    $cfg_rkdist .= '/usr/local/lib/xen/rump-kernel';
-
-    my $buildjob = guest_var($gho, 'rumprunbuildjob', undef);
     my $builtimage = guest_var($gho, 'builtimage', undef);
+    my $buildjob = guest_var($gho, 'rumprunbuildjob', undef);
+
     $builtimage =~ m/\:/ or die "$builtimage ?";
     my $builtimage_part = $`;
     my $builtimage_subpath = $'; #';
-    $rkdist = target_extract_jobdistpath_subdir
-	($ho, "rumprun-$gn", $builtimage_part, $buildjob);
-    my $imagefile = $rkdist.$builtimage_subpath;
-    my $cmdline = guest_var($gho, 'cmdline', undef);
-
-    my @images;
-
-    my $fsimagesdir = target_jobdir($ho)."/$gn-images";
 
-    my $cfgfile = "$gn.cfg";
-    my $cfgpath = "/etc/xen/$cfgfile";
-    target_editfile_root($ho, "$cfg_rkdist/domain_config", $cfgfile, $cfgpath,
-			 sub {
-	while (<EI>) {
-	    next if m/^\s*\#/;
-	    next unless m/\S/;
-
-	    my $in = $& if m/^\w\S*/;
-
-	    s# = .*              # " = '$gn'"          #xe  if $in eq 'name';
-	    s# = .*              # " = '$imagefile'"   #xe  if $in eq 'kernel';
-	    s#\b mac=[0-9a-f:]+  # "mac=$gho->{Ether}" #xe  if $in eq 'vif';
-	    s# = .*              # " = '$cmdline'"     #xe  if $in eq 'extra';
-
-	    if ($in eq 'disk') {
-		s{\b img/(\w+.ffs) \b}{
-                    push @images, $1;
-                    "$fsimagesdir/$1";
-                }xeg;
-	    }
-
-	    print EO or die $!;
-	}
-    });
-
-    store_runvar("$gho->{Guest}_cfgpath", $cfgpath);
+    $rkdist = target_extract_jobdistpath_subdir
+       ($ho, "rumprun-g-$gn", $builtimage_part, $buildjob);
+    my $imagepath = $rkdist.'/'.$builtimage_subpath;
 
-    target_cmd($ho, <<END.(join "\n", map { <<END; } @images), 200);
-                   mkdir -p $fsimagesdir
-END
-                   cp $cfg_rkdist/img/$_ $fsimagesdir/$_
-END
+    store_runvar("${gn}_imagepath", $imagepath);
 }
 
 prep();
diff --git a/ts-rumprun-demo-xenstorels b/ts-rumprun-demo-xenstorels
index a54fbf4..47aa289 100755
--- a/ts-rumprun-demo-xenstorels
+++ b/ts-rumprun-demo-xenstorels
@@ -19,6 +19,7 @@ use strict qw(vars);
 use DBI;
 use Osstest;
 use Osstest::TestSupport;
+use Osstest::RumpRun;
 use Data::Dumper;
 
 tsreadconfig();
@@ -44,7 +45,7 @@ sub arrangepreserve () {
 }
 
 sub start () {
-    guest_create($gho);
+    rumprun_guest_create($gho);
 
     $domid = guest_find_domid($ho, $gho);
 }
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 24/26] rumprun: xenstorels: Do not attempt to edit the config file
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (22 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 23/26] rumprun: `rumpbake' our executables and run them with `rumprun' Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 25/26] rumprun: xenstorels: New regexps for finding output Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 26/26] rumprun: xenstorels: Improve an error message slightly Ian Jackson
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

There is no config file any more, so this function now crashes due to
passing undef to target_editfile_root.

We do not need to edit it to set on_poweroff to preserve because this
is the default for rumprun.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-demo-xenstorels | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/ts-rumprun-demo-xenstorels b/ts-rumprun-demo-xenstorels
index 47aa289..a40110a 100755
--- a/ts-rumprun-demo-xenstorels
+++ b/ts-rumprun-demo-xenstorels
@@ -30,20 +30,6 @@ our $domid;
 
 our $gn = $gho->{Guest};
 
-sub arrangepreserve () {
-    target_editfile_root($ho,$r{"$gho->{Guest}_cfgpath"}, sub {
-	while (<EI>) {
-	    if (m/^\s*on_poweroff\s*=/) {
-		target_editfile_cancel("already configured to preserve")
-		    if m/\bpreserve\b/;
-		next;
-	    }
-	    print EO or die $!;
-	}
-	print EO "\n","on_poweroff='preserve'\n" or die $!;
-    });
-}
-
 sub start () {
     rumprun_guest_create($gho);
 
@@ -118,7 +104,6 @@ sub check_output () {
     }
 }
 
-arrangepreserve();
 start();
 await_end();
 check_output();
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 25/26] rumprun: xenstorels: New regexps for finding output
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (23 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 24/26] rumprun: xenstorels: Do not attempt to edit the config file Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  2016-09-05 14:02 ` [OSSTEST PATCH 26/26] rumprun: xenstorels: Improve an error message slightly Ian Jackson
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

The framing output in rumprun upstream has changed.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-demo-xenstorels | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ts-rumprun-demo-xenstorels b/ts-rumprun-demo-xenstorels
index a40110a..831c58a 100755
--- a/ts-rumprun-demo-xenstorels
+++ b/ts-rumprun-demo-xenstorels
@@ -77,10 +77,11 @@ END
 sub their_xenstorels () {
     some_xenstorels('theirs', sub {
 	$output{theirs} =~ s{\r\n}{\n}g;
-	while ($output{theirs} =~ m{\n=== calling main\(\) ===\n\n}) {
+	while ($output{theirs} =~ m{\n=== calling ".*" main\(\) ===\n\n}) {
 	    $output{theirs} = $'; #';
 	}
-	$output{theirs} =~ m{\n=== main\(\) returned (\d+) ===\n} or die;
+	$output{theirs} =~ m{\n=== main\(\) returned (\d+) ===\n} or
+	$output{theirs} =~ m{\n=== ERROR: _exit\((\d+)\) called ===\n} or die;
 	$output{theirs} = $`;
 	die "$1 ?" if $1 ne '0';
 	$output{theirs} =~ s{^STUB \`\`\w+'' called\n}{}mg;
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [OSSTEST PATCH 26/26] rumprun: xenstorels: Improve an error message slightly
  2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
                   ` (24 preceding siblings ...)
  2016-09-05 14:02 ` [OSSTEST PATCH 25/26] rumprun: xenstorels: New regexps for finding output Ian Jackson
@ 2016-09-05 14:02 ` Ian Jackson
  25 siblings, 0 replies; 27+ messages in thread
From: Ian Jackson @ 2016-09-05 14:02 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 ts-rumprun-demo-xenstorels | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ts-rumprun-demo-xenstorels b/ts-rumprun-demo-xenstorels
index 831c58a..3d29c46 100755
--- a/ts-rumprun-demo-xenstorels
+++ b/ts-rumprun-demo-xenstorels
@@ -83,7 +83,7 @@ sub their_xenstorels () {
 	$output{theirs} =~ m{\n=== main\(\) returned (\d+) ===\n} or
 	$output{theirs} =~ m{\n=== ERROR: _exit\((\d+)\) called ===\n} or die;
 	$output{theirs} = $`;
-	die "$1 ?" if $1 ne '0';
+	die "EXIT STATUS $1 ?" if $1 ne '0';
 	$output{theirs} =~ s{^STUB \`\`\w+'' called\n}{}mg;
     }, <<END);
         cat /var/log/xen/console/guest-$gn.log
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2016-09-05 14:03 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-05 14:02 [OSSTEST PATCH 00/26] rump kernels: Fix build Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 01/26] Executive: Do update flights_harness_touched for play flights Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 02/26] Executive: Allow out-of-order manipulations of flights intended play Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 03/26] TestSupport: Produce stack trace for undef tfileex Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 04/26] rumprun: Rename all `rumpuserxen' to `rumprun' Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 05/26] rumprun: Fetch source from new upstream Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 06/26] rumprun: Move xenbits tree to osstest subdir Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 07/26] rumprun: ts-rumprun-build: Remove $bodges Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 08/26] rumprun: ts-rumprun-build: Build new rumprun properly, ship the output Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 09/26] rumprun: ts-rumprun-build: Adjust command prefixes for new rumprun Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 10/26] ts-xen-build: Separate out kconfig from main build step Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 11/26] ts-xen-build: Support $r{cmdsuffix_configure} Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 12/26] ts-xen-build: Support --no-kconfig Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 13/26] rumprun: ts-rumprun-build: Update for new rumprun bin location Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 14/26] rumprun: ts-rumprun-build: Update for newer Xen Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 15/26] rumprun: Drop old rumpuserxen demo Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 16/26] rumprun: Do not run xen/Kconfig Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 17/26] rumprun: Break out findtools Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 18/26] rumprun: ts-rumprun-build: set up ccache Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 19/26] Xen built versions: Move list of subtrees to BuildSupport Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 20/26] Xen built versions: ts-xen-build: check versions of Xen subtrees, only Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 21/26] rumprun: Do not stash whole build tree Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 22/26] TestSupport: guest_prepare_disk: cope with no disk Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 23/26] rumprun: `rumpbake' our executables and run them with `rumprun' Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 24/26] rumprun: xenstorels: Do not attempt to edit the config file Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 25/26] rumprun: xenstorels: New regexps for finding output Ian Jackson
2016-09-05 14:02 ` [OSSTEST PATCH 26/26] rumprun: xenstorels: Improve an error message slightly Ian Jackson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.