|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1/2] ts-raisin-build: consolidate open coded iterations over enabled components
This removes the possibility of the various bits (ENABLED_COMPONENTS,
TREE/REVISION_* and store_revision) getting out of sync. Use a hash
table to store overrides where the Raising and runvar names for a
component differ.
Also switch to using a shell heredoc to populate config, this was
necessary as part of how the TREE/REVISION setup was rewritten and we
may as well pull the other settings into that too (reduces the amount
of quoting too).
Also add a comment to config to indicate where the osstest overrides
start.
The config file produced here is identical to before except for the
added command and an extra trailing newline.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
It would probably be best to fold this into the base patch rather than
doing it seperately, maybe after Ian has had a chance to comment on
the incremental patch?
The use of $treerev_override{$_}//$_ could be simplified by doing
something like:
$treerev_override{$_} //= $_ foreach @components;
at some point after the hash is declared but before it is used. I'm
not sure if that would be preferable or not.
---
ts-raisin-build | 75 +++++++++++++++++++++++++++++----------------------------
1 file changed, 38 insertions(+), 37 deletions(-)
diff --git a/ts-raisin-build b/ts-raisin-build
index 137ee37..2f3d4eb 100755
--- a/ts-raisin-build
+++ b/ts-raisin-build
@@ -30,45 +30,46 @@ builddirsprops();
my $raisindir="$builddir/raisin";
+# Components to enable, using the Raisin naming scheme
+my @components = qw(seabios ovmf xen qemu qemu_traditional libvirt);
+# Where they differ, map raisin component names to the osstest runvar names
+my %treerev_override = (
+ qemu => 'qemuu',
+ qemu_traditional => 'qemu'
+ );
+
sub checkout () {
prepbuilddirs();
build_clone($ho, 'raisin', $builddir, 'raisin');
- target_cmd_build($ho, 100, $builddir, <<END.
+ my $enabled = join(" ", @components);
+ my $treerevs;
+ foreach (@components) {
+ my $treerev = $treerev_override{$_}//$_;
+ logm("Mapping component $_ to runvar $treerev");
+ # We require both a tree and revision
+ next unless nonempty($r{"tree_$treerev"});
+ next unless nonempty($r{"revision_$treerev"});
+
+ my $url = $r{"tree_$treerev"};
+ my $rev = $r{"revision_$treerev"};
+ $treerevs .= uc($_)."_URL=\"$url\"\n";
+ $treerevs .= uc($_)."_REVISION=\"$rev\"\n";
+ }
+
+ target_cmd_build($ho, 100, $builddir, <<END);
cd $raisindir
cp defconfig config
- >>config
+ cat >>config <<EOF
- echo >>config MAKE=\\"make $makeflags\\"
- echo >>config PREFIX=\\"/usr\\"
- echo >>config DESTDIR=dist
- echo >>config ENABLED_COMPONENTS=\\"seabios ovmf xen qemu qemu_traditional
libvirt\\"
-END
- (nonempty($r{tree_xen}) && nonempty($r{revision_xen}) ? <<END :
'').
- echo >>config XEN_URL=\\"$r{tree_xen}\\"
- echo >>config XEN_REVISION=\\"$r{revision_xen}\\"
+# osstest overrides
+MAKE=\"make $makeflags\"
+PREFIX=\"/usr\"
+DESTDIR=dist
+ENABLED_COMPONENTS=\"$enabled\"
+$treerevs
+EOF
END
- (nonempty($r{tree_qemuu}) && nonempty($r{revision_qemuu}) ?
<<END : '').
- echo >>config QEMU_URL=\\"$r{tree_qemuu}\\"
- echo >>config QEMU_REVISION=\\"$r{revision_qemuu}\\"
-END
- (nonempty($r{tree_qemu}) && nonempty($r{revision_qemu}) ? <<END
: '').
- echo >>config QEMU_TRADITIONAL_URL=\\"$r{tree_qemu}\\"
- echo >>config QEMU_TRADITIONAL_REVISION=\\"$r{revision_qemu}\\"
-END
- (nonempty($r{tree_seabios}) && nonempty($r{revision_seabios}) ?
<<END : '').
- echo >>config SEABIOS_URL=\\"$r{tree_seabios}\\"
- echo >>config SEABIOS_REVISION=\\"$r{revision_seabios}\\"
-END
- (nonempty($r{tree_libvirt}) && nonempty($r{revision_libvirt}) ?
<<END : '').
- echo >>config LIBVIRT_URL=\\"$r{tree_libvirt}\\"
- echo >>config LIBVIRT_REVISION=\\"$r{revision_libvirt}\\"
-END
- (nonempty($r{tree_ovmf}) && nonempty($r{revision_ovmf}) ? <<END
: '')
- echo >>config OVMF_URL=\\"$r{tree_ovmf}\\"
- echo >>config OVMF_REVISION=\\"$r{revision_ovmf}\\"
-END
- );
}
sub build () {
@@ -96,12 +97,12 @@ END
}
sub collectversions () {
- store_revision($ho, 'xen', "$raisindir/xen-dir", 1);
- store_revision($ho, 'qemu', "$raisindir/qemu-traditional-dir", 1);
- store_revision($ho, 'qemuu', "$raisindir/qemu-dir", 1);
- store_revision($ho, 'seabios', "$raisindir/seabios-dir", 1);
- store_revision($ho, 'ovmf', "$raisindir/ovmf-dir", 1);
- store_revision($ho, 'libvirt', "$raisindir/libvirt-dir", 1);
+ foreach ( @components ) {
+ my $tree = $treerev_override{$_}//$_;
+ # raisin uses - in dir names, not _ as in component names
+ tr/_/-/;
+ store_revision($ho, $tree, "$raisindir/$_-dir", 1);
+ }
}
sub stash () {
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |