]> xenbits.xensource.com Git - osstest.git/commitdiff
ts-rumpuserxen-build: Cope with new layout, disabling bodges flight-29255 flight-29275 flight-29276 flight-29277 flight-29278 flight-29279 flight-29280 flight-29281 flight-29282 flight-29283 flight-29284 flight-29285 flight-29286 flight-29287 flight-29288 flight-29289 flight-29290 flight-29291 flight-29292 flight-29293 flight-29294 flight-29295 flight-29296 flight-29297 flight-29298 flight-29299 flight-29300 flight-29301 flight-29302 flight-29303 flight-29304 flight-29305 flight-29306 flight-29307 flight-29308 flight-29309 flight-29310 flight-29311 flight-29312 flight-29313 flight-29314 flight-29315 flight-29316 flight-29317 flight-29319 flight-29329 flight-29330 flight-29331 flight-29332 flight-29333 flight-29334 flight-29335 flight-29336 flight-29337 flight-29338 flight-29339 flight-29340 flight-29341 flight-29343 flight-29345 flight-29346 flight-29347 flight-29350 flight-29351 flight-29352 flight-29353 flight-29354 flight-29355 flight-29356 flight-29357 flight-29358 flight-29359 flight-29360 flight-29361 flight-29362 flight-29363 flight-29364 flight-29365 flight-29366 flight-29367 flight-29368 flight-29369 flight-29371 flight-29372 flight-29374 flight-29375 flight-29376 flight-29377 flight-29378 flight-29379
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 {