]> xenbits.xensource.com Git - people/dariof/osstest.git/commitdiff
ts-rumpuserxen-build: Cope with new layout, disabling bodges
authorIan Jackson <ian.jackson@eu.citrix.com>
Fri, 11 Jul 2014 14:27:11 +0000 (15:27 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Fri, 11 Jul 2014 15:24:31 +0000 (16:24 +0100)
The rumpsrc psuedo-submodule has been integrated with the nblibs
submodule and made into a proper submodule.

Also, in the intervening time, rumpuserxen/Config.mk now uses ?= when
setting XEN_HEADERS.

So if we detect that we have a new rumpuser-xen, we can disable:
 - ad-hoc arrangements for rumpsrc
 - grievous-bodge
 - patching Config.mk

We consider a rumpuserxen old iff it has nblibs as a submodule and
lacks rumpsrc as a submodule.

We have to have a different name for the rumpsrc submodule (rather
than using rumpsrc), because in the new arrangements it needs to be
fetched from the location specified in rumpuserxen's .gitmodules
rather than our own configured location for the old rumpsrc.  (And the
local name is in the runvars etc.)

The old runvars etc. for rumpsrc need to stay around to cope with old
rumpuserxen, for now, but are going to be obsolete.  Leave some
comments about this in relevant places.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
ap-common
mfi-common
ts-rumpuserxen-build

index ba3a180bd8eb14f63961c2d4c23779a8cad7ba7f..6c7e654e2213e5e4d56336938393c868d547b701 100644 (file)
--- a/ap-common
+++ b/ap-common
@@ -46,6 +46,8 @@
 
 : ${TREE_RUMPUSERXEN_RUMPSRC:=$(besteffort_repo https://github.com/rumpkernel/rumpkernel-netbsd-src)}
 : ${TREEVCS_RUMPUSERXEN_RUMPSRC:=git}
+# rumpsrc-related runvars needed only for old rumpuser-xen
+# (ie ones which need $bodges=1 in ts-rumpuserxen-build)
 
 : ${TREE_SEABIOS_UPSTREAM:=git://git.seabios.org/seabios.git}
 : ${PUSH_TREE_SEABIOS:=$XENBITS:/home/xen/git/osstest/seabios.git}
index 5dcb2ee466144931433fd2b2a211883971c1da2f..2055bab730a9bbedb40ba5856bddfe5fa874b45c 100644 (file)
@@ -206,6 +206,8 @@ create_build_jobs () {
                 revision_rumpuserxen=$REVISION_RUMPUSERXEN             \
                 tree_rumpuserxen_rumpsrc=$TREE_RUMPUSERXEN_RUMPSRC     \
                 ${TREEVCS_RUMPUSERXEN_RUMPSRC:+treevcs_rumpuserxen_rumpsrc=}${TREEVCS_RUMPUSERXEN_RUMPSRC}
+                # rumpsrc-related runvars needed only for old rumpuser-xen
+                # (ie ones which need $bodges=1 in ts-rumpuserxen-build)
                ;;
     esac
 
index 3f7271917e81e8568851be74a1985b78e2dbdb14..ee2db977098f33b16649dc8b6148221243163e05 100755 (executable)
@@ -26,38 +26,48 @@ selectbuildhost(@ARGV);
 builddirsprops();
 
 our %submodmap = qw(nblibs nblibs
-                    buildrump.sh buildrumpsh);
+                    buildrump.sh buildrumpsh
+                    rumpsrc netbsdsrc);
 
-our ($rux);
+our ($rux, $bodges);
 
 sub checkout () {
     prepbuilddirs();
     xendist();
 
     build_clone($ho, 'rumpuserxen', $builddir, 'rumpuserxen');
-    submodulefixup($ho, 'rumpuserxen', 'rumpuserxen', \%submodmap);
+    my $submodules =
+       submodulefixup($ho, 'rumpuserxen', 'rumpuserxen', \%submodmap);
     $rux = "$builddir/rumpuserxen";
 
-    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);
-    }
+    $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');
+       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 {