|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 01/11] Debian: Factor out di_special_kernel from ts-host-install
No functional change.
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
Osstest/Debian.pm | 31 +++++++++++++++++++++++++++++++
ts-host-install | 29 +++++------------------------
2 files changed, 36 insertions(+), 24 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 845027a..ba39ad2 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -34,6 +34,7 @@ BEGIN {
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw(debian_boot_setup
+ di_special_kernel
setupboot_bootloader_edited_rune
debian_overlays
debian_guest_suite debian_guest_di_version
@@ -1043,6 +1044,36 @@ END
return create_webfile($ho, "preseed$sfx", $preseed_file);
}
+sub di_special_kernel ($$$) {
+ my ($ho, $d_i, $fn) = @_;
+ # calls $fn->($kernel, $cpio) # either or both may be undef
+ foreach my $kp (keys %{ $ho->{Flags} }) {
+ my $kernel;
+ # Backwards compatibility
+ $kp = "need-kernel-deb-wheezy-backports" if $kp eq
"need-kernel-deb-armmp";
+ $kp =~ s/need-kernel-deb-$ho->{Suite}-// or next;
+ my $kern= "$ho->{Tftp}{Path}/$d_i/linux.$kp";
+ if (stat $kern) {
+ logm("using kernel from: $kern");
+ $kernel = "/$d_i/linux.$kp";
+ } elsif ($! == &ENOENT) {
+ logm("warning: no kernel found for $kp at $kern");
+ } else {
+ die "$kp $kern $!";
+ }
+ my $cpio= "$ho->{Tftp}{Path}/$d_i/$kp.cpio.gz";
+ if (stat $cpio) {
+ logm("using kernel modules from: $cpio");
+ } elsif ($! == &ENOENT) {
+ logm("warning: no kernel module cpio found for $kp at $cpio");
+ $cpio = undef;
+ } else {
+ die "$kp $cpio $!";
+ }
+ $fn->($kernel, $cpio);
+ }
+}
+
sub preseed_create ($$;@) {
my ($ho, $sfx, %xopts) = @_;
diff --git a/ts-host-install b/ts-host-install
index 11c14a7..2165436 100755
--- a/ts-host-install
+++ b/ts-host-install
@@ -181,30 +181,11 @@ sub setup_netboot_firstboot($) {
}
}
- foreach my $kp (keys %{ $ho->{Flags} }) {
- # Backwards compatibility
- $kp = "need-kernel-deb-wheezy-backports" if $kp eq
"need-kernel-deb-armmp";
- $kp =~ s/need-kernel-deb-$ho->{Suite}-// or next;
- my $kern= "$ho->{Tftp}{Path}/$d_i/linux.$kp";
- if (stat $kern) {
- logm("using kernel from: $kern");
- $kernel = "/$d_i/linux.$kp";
- } elsif ($! == &ENOENT) {
- logm("warning: no kernel found for $kp at $kern");
- } else {
- die "$kp $kern $!";
- }
-
- my $cpio= "$ho->{Tftp}{Path}/$d_i/$kp.cpio.gz";
- if (stat $cpio) {
- logm("using kernel modules from: $cpio");
- push @initrds, $cpio;
- } elsif ($! == &ENOENT) {
- logm("warning: no kernel module cpio found for $kp at $cpio");
- } else {
- die "$kp $cpio $!";
- }
- }
+ di_special_kernel($ho, $d_i, sub {
+ my ($k, $cpio) = @_;
+ $kernel = $k if defined $k;
+ push @initrds, $cpio if defined $cpio;
+ });
$kernel = "/$d_i/linux" unless $kernel;
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |