|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 10/35] backports handling: Refactor kernel deb handling
Introduce private function $kdeb->(). No functional change.
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
Osstest/Debian.pm | 45 +++++++++++++++++++++++++++++----------------
1 file changed, 29 insertions(+), 16 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 52527bf..5a083c2 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -1114,32 +1114,45 @@ END
$kp = "need-kernel-deb-wheezy-backports" if $kp eq
"need-kernel-deb-armmp";
$kp =~ s/need-kernel-deb-$ho->{Suite}-// or next;
- my $kern = "$d_i/$kp.deb";
- my $kurl = create_webfile($ho, "kernel", sub {
- copy($kern, $_[0])
- or die "Copy kernel $kern failed: $!";
- });
-
- my $ird = "$d_i/initramfs-tools.deb";
- my $iurl = create_webfile($ho, "initramfs-tools", sub {
- copy($ird, $_[0])
- or die "Copy initramfs-tools $ird failed: $!";
- });
-
- preseed_hook_command($ho, 'late_command', $sfx, <<END);
+ my $cmds = <<END;
#!/bin/sh
set -ex
r=/target
-$preseed_wget -O \$r/tmp/kern.deb $kurl
-$preseed_wget -O \$r/tmp/initramfs-tools.deb $iurl
+END
+
+ my @kdebs;
+ my $kdeb = sub {
+ my ($what, $file) = @_;
+
+ logm("for late_command using $what $file");
+ my $furl = create_webfile($ho, $what, sub {
+ copy($file, $_[0]) or die "Copy $what $file failed: $!";
+ });
+ my $tmpfn = "/tmp/$what.deb";
+
+ $cmds .= <<END;
+$preseed_wget -O \$r$tmpfn $furl
+END
+ push @kdebs, $tmpfn;
+ };
+
+ my $kern = "$d_i/$kp.deb";
+ $kdeb->("kernel", $kern);
+
+ my $ird = "$d_i/initramfs-tools.deb";
+ $kdeb->("initramfs-tools", $ird);
+
+ $cmds .= <<END;
# This will fail due to dependencies...
-in-target dpkg -i /tmp/kern.deb /tmp/initramfs-tools.deb || true
+in-target dpkg -i @kdebs || true
# ... Now fix everything up...
in-target apt-get install -f -y
END
+
+ preseed_hook_command($ho, 'late_command', $sfx, $cmds);
}
if ( $ho->{Flags}{'need-uboot-bootscr'} ) {
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |